玖叶教程网

前端编程开发入门

跟我学编程 13:mysql 索引失效 or 的场景

背景: city 没有索引 province 有索引





在 WHERE 子句中,如果在 OR 前的条件列是索引列,而在 OR 后的条件列不是索引列,那么索引会失效。如下:


因为 OR 的含义就是两个只要满足一个即可,因此只有一个条件列是索引列是没有意义的,只要有条件列不是索引列,就会进行全表扫描。


如果 加了索引 city

会变成

type=index merge,


index merge 的意思就是对 province和 city分别进行了扫描,然后将这两个结果集进行了合并,这样做的好处就是避免了全表扫描

发表评论:

控制面板
您好,欢迎到访网站!
  查看权限
网站分类
最新留言