首页 > 其他 > 详细

解决like '%字符串%'时索引不被使用的方法

时间:2018-08-06 22:59:03      阅读:277      评论:0      收藏:0      [点我收藏+]

解决like ‘%字符串%‘时索引不被使用的方法

 

解决like ‘%字符串%‘时索引不被使用的方法,如果like以通配符开头(‘%abc‘)时索引会失效会变成全表扫描的操作。

工具/原料

 
  • mysql

方法/步骤

 
  1.  

    如果like以通配符开头(‘%abc‘)时索引会失效会变成全表扫描的操作。那么我们改如何解决这个问题。

    技术分享图片
  2.  

    现在我们建立一个tbl_user表,并加入如下图的数据。

    技术分享图片
  3.  

    我们现在在建立索引之前查看sql的执行计划。执行的是全表扫描。

    技术分享图片
  4.  

    现在我们建立name和age的覆盖索引。

    技术分享图片
  5.  

    现在我们再来看一下这个like的执行计划,查看是否使用了索引。我们现在的like使用到了索引。

    技术分享图片
  6.  

    如果非得使用like使用索引的话,就要使用覆盖索引来解决,你建的索引和查询的字段上一样。

    技术分享图片
     

解决like '%字符串%'时索引不被使用的方法

原文:https://www.cnblogs.com/hadley/p/9434043.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!