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

复合数据库索引何时有用?

复合索引可以加快针对特定列组合筛选或排序的查询,但效果取决于查询形态和列顺序。索引还会占用存储并增加写入成本,因此应依据实际查询测量结果创建。

数据库

让索引列顺序匹配查询模式

许多数据库引擎对复合索引最左侧的列利用效果更好。例如 (account_id, created_at) 可支持按账户筛选并按日期查询;只按日期查询未必同样受益。

检查真实查询计划和有代表性的数据分布。选择性、连接、排序、谓词和引擎行为都会影响索引是否被选用以及能否减少工作量。

测量影响并有计划地维护

比较新增索引前后的执行时间、扫描行数和写入开销。在大型活动表上建索引可能消耗资源或获取锁,应查阅引擎提供的在线建索引方案。

确认没有重要查询依赖后再删除冗余索引。随着数据量和负载变化重新检查索引使用情况;过去有帮助的索引也可能变成成本高、收益低的负担。

返回数据库常见问题