聊聊数据库中的烂索引

💡 原文中文,约3800字,阅读约需10分钟。
📝

内容提要

索引是数据库中用于加速查询的组件,但不当的索引会降低写入性能。定期检查和清理烂索引可以提升数据库的写入性能。PolarDB-X提供inspect index功能,自动诊断烂索引并给出整改建议。

🎯

关键要点

  • 索引是加速数据库查询的组件,但不当索引会降低写入性能。
  • 定期检查和清理烂索引可以提升数据库的写入性能。
  • PolarDB-X提供inspect index功能,自动诊断烂索引并给出整改建议。
  • 全局索引和本地索引都会影响系统的写入性能。
  • 低频访问索引和久未访问索引是常见的烂索引,需要及时清理。
  • 低选择性索引的查询效率低,需通过INFORMATION_SCHEMA.GLOBAL_INDEXES视图检查。
  • 重复索引会影响性能,用户需避免无意中创建多个重复索引。
  • 冗余索引是指创建的索引可以被其他索引替代,需谨慎添加新索引。
  • 全局索引的分区规则需设计良好,避免与主表的分区方式重复。
  • 全局索引的分区大小应均匀分布,避免资源浪费。
  • 使用range分区作为全局索引时,需避免将时间列作为分区列。
  • 文章总结了4个烂索引的例子,并强调定期检查的重要性。
➡️

继续阅读