mysql模糊查詢like優化

2021-10-13 13:54:21 字數 602 閱讀 5885

使用 like %value%不走索引

select `column` from `table` where `field` like '%keyword%';
1.可使用 like value% 前值匹配,可走索引

select `column` from `table` where `field` like 'keyword%';
2.使用mysql內建函式

查詢內容在字段值中的位置

-- 查詢keyword在field中的位置

select `column` from `table` where locate('keyword', `field`)>0

-- 等同與上面的別名

select `column` from `table` where position('keyword' in `filed`)

-- 同別名

select `column` from `table` where instr(`field`, 'keyword' )>0

說明:keyword表示需要匹配的內容,field為資料庫字段

MySQL的LIKE模糊查詢優化

這種方式對於資料量少的時候,我們倒可以隨意用,但是資料量大的時候,我們就體驗到了查詢效能的問題,像老化的車子艱難趴著坡一樣,並且這種方式並未使用到索引,而是全表掃瞄 mysql 高效模糊查詢 代替like 而對於 或者 方式,explain一下可以發現查詢使用到了索引,效能提公升了不少,當然這種方式...

模糊查詢like優化

原sql語句 select project name from project info where project name like 北京 我們都知道,因為索引最左字首匹配原則,全模糊匹配,sql是不走索引的。所以採用另一種機制,為project name建立索引,從索引表中模糊匹配索引值去查詢...

mysql插入,like模糊查詢

1.insert into 最常用簡單的插入語句,可以有以下兩種用法 insert into tb user id,name,age values 100022 tom 25 只給指定的列賦值 insert into tb user values 100022 tom 25 必須 給所有列賦值 注 ...