总结一下使用索引的一些建议
-
-
联合索引注意最左匹配原则:必须按照从左到右的顺序匹配, mysql会一直向右匹配 直到遇到范围查询(>、 <、 between、 like)就停止匹配,比如a = 1 and b = 2 and c > 3 and d = 4 如果建立(a,b,c,d)顺序的索引, d是得不到索引的,如果建立(a,b,d,c)的索引则都可以得到, a,b,d的顺序可以任意调整
-
查询记录的时候,少使用*,尽量去利用索引覆盖,可以减少回表操作,提升效率
-
有些查询可以采用联合索引,进而使用到索引下推(IPC),也可以减少回表操作,提升效率
-
禁止对索引字段使用函数、运算符操作,会使索引失效
-
字符串字段和数字比较的时候会使索引无效
-
模糊查询'%值%'会使索引无效,变为全表扫描,但是'值%'这种可以有效利用索引
-