记一次生产慢sql索引优化及思考 | 京东云技术团队

💡 原文中文,约2300字,阅读约需6分钟。
📝

内容提要

数据库慢SQL报警,查询速度极慢,主键聚簇索引导致回表查询耗时。解决方法是使用强制索引,长期优化方案是将数据异构到ES查询,提高查询响应速度。

🎯

关键要点

  • 数据库慢SQL报警,查询速度极慢,耗时达60s。

  • 慢查询可能导致数据库连接池满,影响应用可用性。

  • 慢SQL语句在examine=3时查询速度极慢,未使用到索引。

  • 主键聚簇索引导致回表查询耗时,扫描行数越多执行越慢。

  • 聚簇索引和非聚簇索引的查询原理不同,聚簇索引通常更快。

  • 回表查询是通过非聚簇索引获取主键后,再查询主键聚簇索引。

  • MySQL选择不合适的主键聚簇索引是因为数据量大时性能差。

  • 解决方案是使用强制索引,指定使用具体的索引。

  • 长期优化方案是将数据异构到ES查询,提高查询响应速度。

  • ES数据同步方案通过DTS监听数据库的binlog,将索引字段写入ES。

➡️

继续阅读