从mk-archiver帮助中,我们可以看到有一个优化选项“ seek-then-scan
”。知道他们是怎么做到的吗?
我真正想要的是,如果我确实有一张带有一个 PKey 的表,并且查询
SELECT col1,col2 FROM tbl LIMIT 1,10;
SELECT col1,col2 FROM tbl LIMIT 11,20; ...
SELECT col1,col2 FROM tbl LIMIT m,n;
有什么方法可以以优化的方式做到这一点,给定m
并且n
是非常大的值,并且每个选择查询都是从多台机器并行启动的?(稍后将解决主机/网络阻塞问题)
如果表没有 PKey,其他人如何处理这种情况?
*使用 MySQL
默认的升序索引优化导致 mk-archiver 优化重复的 SELECT 查询,以便它们查找前一个查询结束的索引,然后沿着它扫描,而不是每次都从表的开头扫描。这是默认启用的,因为它通常是重复访问的好策略。