索引明明建了却没生效

2026-03-27

大部分是因为查询写法让优化器用不上它。

最常见的三种

在索引列上套了函数,比如对字段做格式化之后再比较,索引就用不上。

模糊匹配以通配符开头,排序方式与索引顺序不一致。

怎么确认

查询计划会直接告诉你走了哪条路径。执行计划里出现全表扫描时,就该检查上面的几种写法。

复合索引的顺序

复合索引遵循最左前缀。建索引时把选择性高、且经常用于等值过滤的列放在前面,能覆盖更多查询。

索引也不是越多越好

每个索引都会拖慢写入并占用空间。定期检查没被使用过的索引,删掉它们。