大家都知道like的效率很低,數(shù)據(jù)量大就會(huì)很慢,今天發(fā)現(xiàn)了一個(gè)內(nèi)置函數(shù)instr()效率比like高
-
SELECT?*?FROM?msg_list?WHERE?title?LIKE?'%涂山%'
可以替換為:
-
SELECT?*?FROM?msg_list?WHERE?INSTR(title,'涂山')?>?0
在 thinkphp / laravel中使用的方法有:
- 使用 whereRaw()執(zhí)行原生INSTR()
- 修改構(gòu)造查詢器(不太推薦,不過用起來方便)
項(xiàng)目根目錄thinkphplibrarythinkdbBuilder.php
MsgList::where([ ?????'title'?=>?['instr','涂山']]) ?->select();
相關(guān)學(xué)習(xí)推薦:mysql視頻教程
? 版權(quán)聲明
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載。
THE END