专栏名称: dbaplus社群
围绕Database、BigData、AlOps的企业级专业社群。资深大咖、技术干货,每天精品原创文章推送,每周线上技术分享,每月线下技术沙龙,每季度XCOPS\x26amp;DAMS行业大会。
TodayRss-海外RSS稳定源
目录
相关文章推荐
今天看啥  ›  专栏  ›  dbaplus社群

MySQL 8的老大难问题,从5.7延续至今,有这么难?

dbaplus社群  · 公众号  ·  · 2025-10-31 07:15
    

主要观点总结

文章讨论了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情况下的错误索引使用。


免责声明:本文内容摘要由平台算法生成,仅为信息导航参考,不代表原文立场或观点。 原文内容版权归原作者所有,如您为原作者并希望删除该摘要或链接,请通过 【版权申诉通道】联系我们处理。

原文地址:访问原文地址
总结与预览地址:访问总结与预览
文章地址: 访问文章快照