让索引列顺序匹配查询模式
许多数据库引擎对复合索引最左侧的列利用效果更好。例如 (account_id, created_at) 可支持按账户筛选并按日期查询;只按日期查询未必同样受益。
检查真实查询计划和有代表性的数据分布。选择性、连接、排序、谓词和引擎行为都会影响索引是否被选用以及能否减少工作量。
测量影响并有计划地维护
比较新增索引前后的执行时间、扫描行数和写入开销。在大型活动表上建索引可能消耗资源或获取锁,应查阅引擎提供的在线建索引方案。
确认没有重要查询依赖后再删除冗余索引。随着数据量和负载变化重新检查索引使用情况;过去有帮助的索引也可能变成成本高、收益低的负担。