索引优化
2020-09-07 本文已影响0人
策马踏清风
尽量全值匹配
- 如果使用了符合索引,查询的列是索引列,不要使用
select *
使用索引列。 - 不要使用
select *
,避免查询不需要的列,避免表结构增加列对于查询的影响,同时有助于引擎的索引优化。
最佳左前缀法则
- 创建了一个复合索引
key(a, b, c)
时,查询的where
语句一定要出现a, 且只有a, b, c
同时出现在where
的条件中时,这个索引才是最高效的。
索引不要有任何操作
- 各种函数之类的,不要在索引列上使用
范围条件放最后
- 创建联合索引时,
between < =
等访问查询,如果范围查询的列是a
则创建的索引中a
应该是最后一个如key(b, c, a)
而不是key(a, b, c)
like查询
- 尽量使用
关键字%
而不是使用%关键字
,后者会导致索引失效
搜索字符类型
- 字符类型需要加引号,否则会使索引失效。使用
where a='1'
而不是where a=1