RICH-ATONE

MySQL中 IS NULL、IS NOT NULL、不等于,大于小于 能用上索引吗?

不一定, 原因有二

  1. 我们多数情况下使用 != 只是筛选掉少量数据, 这种情况下走索引树找出不符合条件的值然后返回其他符合条件的值, 跟直接做全表扫描的效率其实相差不大(走索引的概率低)。如果筛选掉的数据的量很大, 剩下的数据的量很少, 这种情况下有可能会走索引.
    

      

  2. 更重要的是, 多数情况下我们是会select表里的多个列, 而在二级索引树下只会有二级索引的索引值和主键值, 其他的值都要回表回到主键索引上面查, 有多少个符合条件的数据就要回表多少次, 这种查询效率简直是要比全表扫描差得多.
    

      

 

参考:https://zhidao.baidu.com/question/1762112105394107108.html

MySQL中 IS NULL、IS NOT NULL、不等于, 能用上索引吗?

解决mysql模糊查询索引失效问题的几种方法

posted on 2022-10-12 17:04  RICH-ATONE  阅读(649)  评论(0编辑  收藏  举报

导航