MYSQL索引优化法则

Posted mb61caa1c74a413

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MYSQL索引优化法则相关的知识,希望对你有一定的参考价值。

目录
一首诗送给各位:

举个栗子:
假设index(a,b,c)

where语句 索引是否被用到 原因
where a=3 使用到a 全值匹配
where a=3 and b=5 使用到a,b 全值匹配
where a=3 and b=5 and c=4 使用到a,b,c 全值匹配
where b=3 or where b=3 and c=4 or where c=4 NULL 因为按照创建索引的顺序第一个索引列a没有被用到,导致后面的索引失效。
where a=3 and c=5 使用到a b没有被用到,导致c失效
where a=3 and b>4 and c=5 使用到a b为范围查询索引失效导致C也失效
where a=3 and b like kk% and c =4 使用到a,b,c 这里的b是可以用到的因为百分号在最右结合最左前缀原则,虽然%相当于范围查询但是在最右,最左边是定值。
where a=3 and b like %kk and c=4 使用到a b中间断开失效导致c也失效
where a=3 and b like %kk% and c=4 使用到a b断开
where a=3 and b like k%kk% and c=4 使用到a,b,c 同上上上

以上是关于MYSQL索引优化法则的主要内容,如果未能解决你的问题,请参考以下文章

mysql 索引优化法则

MYSQL索引优化法则

MySQL高级 之 索引失效与优化详解

MySQL高级之索引失效与优化详解

MySQL之SQL优化详解

MySQL高级-索引优化