依据实际查询负载判断
找出慢查询,并比较读取行数与返回行数。对于大型表,如果选择性较高的条件或连接键能定位到较小的数据范围,索引可能有帮助。
复合索引中的列顺序很重要;与查询模式不匹配的索引可能不会被使用。请查看所用数据库引擎的具体建议,不要给每个筛选列都盲目加索引。
权衡读取速度与写入成本
相关插入、更新和删除操作可能都需要维护索引项。索引过多会拖慢写入、占用额外存储,并增加模式变更的复杂度。
使用有代表性的数据比较添加索引前后的延迟和资源消耗。只有整体工作负载得到改善时才保留索引,并确认目标查询确实使用了它。