前言
每日一题专栏
索引优化的几点原则
- 尽量全值匹配
如果你使用了复合索引,而你查询的列是索引列,不要使用select * 而用索引列
- 最佳左前缀法则
创建复合索引的时候,要考虑索引的使用场景,比如创建复合索引key(a,b,c) 在出现where条件的时候一定要出现a,只有a,b,c同时出现在where条件里,这个索引才是最高效的。
- 不在索引列上做任何操作
比如各种函数等,不要再索引列上使用
- 范围条件放最后
在sql中经常需要使用between,<=等访问查询,如果范围查询的列为a,需要创建一个包括a,b,c的索引,索引创建顺序不应该是key(a,b,c)而应该是(b,c,a)
- Like查询要当心
like查询的时候,尽量使用“关键字%”而不要使用“%关键字”后者会导致索引失效
- 字符类型加引号
如果是字符类型比如 sex char(1) 不要出现 where sex = 1 这样会导致索引失效,要 sex=’1’