1

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 查询,以便它们查找前一个查询结束的索引,然后沿着它扫描,而不是每次都从表的开头扫描。这是默认启用的,因为它通常是重复访问的好策略。

4

1 回答 1

0

我相信他们是在直接使用索引结构,而不是依赖 SQL。获取MySQL源代码的优势。应该有可能使用 SQL,每个连接都有这样的选项,但是如果可能的话,通过中间(Web)服务器连接的多个用户会更加复杂。

于 2013-04-10T13:23:30.477 回答