【问题标题】:MySQL seek-then-scan optimization for Limit OffsetMySQL seek-then-scan 对 Limit Offset 的优化
【发布时间】:2013-04-10 21:23:30
【问题描述】:

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;

考虑到mn 是非常大的值并且每​​个选择查询都是从多台机器并行启动的,有什么方法可以优化吗? (稍后将解决主机/网络阻塞问题)

如果表没有 PKey,其他人如何处理这种情况?

*使用 MySQL

默认的升序索引优化导致 mk-archiver 优化重复的 SELECT 查询,以便它们查找 上一个查询结束,然后沿着它扫描,而不是从 每次表的开头。这是默认启用的 因为它通常是重复访问的好策略。

【问题讨论】:

    标签: mysql sql optimization backup


    【解决方案1】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-08-19
      • 1970-01-01
      • 2012-10-06
      • 1970-01-01
      • 2015-07-28
      • 1970-01-01
      • 2013-12-20
      相关资源
      最近更新 更多