主要观点总结
文章讨论了MySQL中optimizer_switch配置选项中的prefer_ordering_index设置,该设置针对order by和group by中的搭配limit的查询。文章指出,当数据分布不均匀时,优化器可能选择有序索引进行排序,但这种情况下索引扫描可能带来大量随机IO开销,远高于全表扫描的顺序IO。因此,很多情况下选择关闭此选项。文章作者为刘华阳,拥有多年数据库经验。
关键观点总结
关键观点1: MySQL的optimizer_switch配置中的prefer_ordering_index设置的作用和争议。
该设置决定是否优先选择已建立排序规则的有序索引进行排序。但在数据分布不均匀的情况下,可能引发问题,如随机IO开销大,导致性能下降。
关键观点2: 文章的实验部分展示了开启和关闭prefer_ordering_index设置的影响。
实验通过创建users表并插入数据,然后分别开启和关闭prefer_ordering_index设置,对比EXPLAIN的结果,展示了不同设置下查询的性能差异。
关键观点3: 作者认为大部分情况下应该关闭此选项。
因为不能完全杜绝在数据和索引建立后,遇到GROUP BY和ORDER BY情况下的错误索引使用。
免责声明:本文内容摘要由平台算法生成,仅为信息导航参考,不代表原文立场或观点。
原文内容版权归原作者所有,如您为原作者并希望删除该摘要或链接,请通过
【版权申诉通道】联系我们处理。