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

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

coldplay.xixi
coldplay.xixi轉載
2020-07-01 17:59:472463瀏覽

了解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();

#相關學習推薦:mysql影片教學

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

陳述:
本文轉載於:learnku.com。如有侵權,請聯絡admin@php.cn刪除