登录
首页 >  数据库 >  MySQL

MySQL(Oracle)模糊查询 使用 instr () 替代 like 提升效率

来源:SegmentFault

时间:2023-01-28 21:23:48 188浏览 收藏

怎么入门数据库编程?需要学习哪些知识点?这是新手们刚接触编程时常见的问题;下面golang学习网就来给大家整理分享一些知识点,希望能够给初学者一些帮助。本篇文章就来介绍《MySQL(Oracle)模糊查询 使用 instr () 替代 like 提升效率》,涉及到MySQL、Oracle,有需要的可以收藏一下

大家都知道like的效率很低,数据量大就会很慢,今天发现了一个内置函数instr()效率比like高

SELECT * FROM msg_list WHERE title LIKE '%涂山%'

可以替换为:

SELECT * FROM msg_list WHERE INSTR(title,'涂山') > 0

在 ThinkPHP / Laravel中使用的方法有:

  1. 使用 whereRaw()执行原生INSTR()
  2. 修改构造查询器(不太推荐,不过用起来方便)

项目根目录\thinkphp\library\think\db\Builder.php


MsgList::where([
        'title' => ['instr','涂山']
])
    ->select();

好了,本文到此结束,带大家了解了《MySQL(Oracle)模糊查询 使用 instr () 替代 like 提升效率》,希望本文对你有所帮助!关注golang学习网公众号,给大家分享更多数据库知识!

声明:本文转载于:SegmentFault 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>
评论列表