返回数据库常见问题
帮助中心 · 常见问题数据库1 分钟阅读

什么时候应该给数据库表添加索引?

如果经过测量的查询反复按相同列筛选、连接或排序,并扫描了过多数据,可以考虑添加索引。先查看查询计划和工作负载:索引能加快部分读取,但会占用存储并增加写入成本。

数据库

依据实际查询负载判断

找出慢查询,并比较读取行数与返回行数。对于大型表,如果选择性较高的条件或连接键能定位到较小的数据范围,索引可能有帮助。

复合索引中的列顺序很重要;与查询模式不匹配的索引可能不会被使用。请查看所用数据库引擎的具体建议,不要给每个筛选列都盲目加索引。

权衡读取速度与写入成本

相关插入、更新和删除操作可能都需要维护索引项。索引过多会拖慢写入、占用额外存储,并增加模式变更的复杂度。

使用有代表性的数据比较添加索引前后的延迟和资源消耗。只有整体工作负载得到改善时才保留索引,并确认目标查询确实使用了它。

返回数据库常见问题