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


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

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

     

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

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

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

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

    LIKE 语句不允许使用 % 开头,否则索引会失效;

    当真的需要两边都使用%来模糊查询时,只有当这个作为模糊查询的条件字段(例子中的name)以及所想要查询出来的数据字段(例子中的 id & name & age)都在索引列上时,才能真正使用索引,否则,索引失效全表扫描(比如多了一个 salary 字段)

  • 相关阅读:
    IDL---ENVI
    IDL基础
    IDL_GUI
    .Net MVC+bootstrap Table学习
    .Net中的加密解密
    Linux服务器上安装织梦CMS
    数据仓储之DLL层接口设计
    js获取新浪天气接口
    js动态生成二维码图片
    Jquery点击发送按钮后,按钮文本倒计时
  • 原文地址:https://www.cnblogs.com/flzs/p/13562191.html
Copyright © 2020-2023  润新知