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