首頁 > 資料庫 > mysql教程 > 了解MySQ(Oracle)模糊查詢 使用instr()取代like提升效率

了解MySQ(Oracle)模糊查詢 使用instr()取代like提升效率

coldplay.xixi
發布: 2020-07-01 17:59:47
轉載
2482 人瀏覽過

了解MySQ(Oracle)模糊查詢 使用instr()取代like提升效率

大家都知道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();
    登入後複製
  3. #相關學習推薦:mysql影片教學

    以上是了解MySQ(Oracle)模糊查詢 使用instr()取代like提升效率的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:learnku.com
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板