zoukankan      html  css  js  c++  java
  • mysql 模糊查询 like 语句

    一 like语句

    %xxx%:查询username字段中包含xxx的记录。

    select * from user where username like '%xxx%'; 

    %xxx:查询username字段中以xxx结尾的记录。

    select * from user where username like '%xxx';

    xxx%:查询username字段中以xxx开头的记录。

    select * from user where username like 'xxx%';

    二 like语句是否使用索引?

    使用explain关键字分析上述like查询,发现有些情况使用索引,有些情况下全表查询。

    like %xxx%:全表扫描,未使用索引,效率低。

     like %xxx:全表扫描,未使用索引,效率低。

     like xxx%:使用了username字段的索引。

    三 优化like?

    网上有一些关于like %xxx%的优化建议,比如 locate, instr, position的方式,但是亲测之后发现这几个方式也是全表扫描。如果数据量庞大的话,还是建议直接使用搜索引擎elasticsearch。

  • 相关阅读:
    X的平方根(二分)
    JavaScript(1)
    入门训练 Fibonacci数列 (水题)
    set集合容器
    deque双端队列容器
    回归分析
    cf1121d 尺取
    CF1121C 模拟
    poj3662 二分+最短路
    最短路小结
  • 原文地址:https://www.cnblogs.com/mydesky2012/p/11608890.html
Copyright © 2011-2022 走看看