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