码迷,mamicode.com
首页 > 其他好文 > 详细

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

时间:2018-08-06 23:25:06      阅读:651      评论:0      收藏:0      [点我收藏+]

标签:问题   dia   EDA   mysql   html   使用   audio   text   全表扫描   

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

 

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

工具/原料

 
  • mysql

方法/步骤

 
  1.  

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

    技术分享图片
  2.  

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

    技术分享图片
  3.  

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

    技术分享图片
  4.  

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

    技术分享图片
  5.  

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

    技术分享图片
  6.  

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

    技术分享图片
     

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

标签:问题   dia   EDA   mysql   html   使用   audio   text   全表扫描   

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

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!