美文网首页
MySQL比like语句更高效的写法locate positio

MySQL比like语句更高效的写法locate positio

作者: elileo | 来源:发表于2019-03-02 01:10 被阅读0次

    版权声明:本文为博主原创文章,原文:https://blog.csdn.net/wpfphp/article/details/52584232

    LIKE语句

    SELECT `column` FROM `table` where `condition` like `%keyword%'
    

    事实上,可以使用 locate(position) 和 instr 这两个函数来代替

    一、LOCATE语句

    SELECT `column` from `table` where locate(‘keyword’, `condition`)>0
    

    二、或是 locate 的別名 position

    POSITION语句

    SELECT `column` from `table` where position(‘keyword’ IN `condition`)
    

    三、INSTR语句

    SELECT `column` from `table` where instr(`condition`, ‘keyword’ )>0
    

    locate、position 和 instr 的差別只是参数的位置不同,同时locate 多一个起始位置的参数外,两者是一样的。
    mysql> SELECT LOCATE(‘bar’, ‘foobarbar’,5);

    -> 7

    速度上这三个比用 like 稍快了一点。

    相关文章

      网友评论

          本文标题:MySQL比like语句更高效的写法locate positio

          本文链接:https://www.haomeiwen.com/subject/mipsuqtx.html