MySQL優化之like關鍵字

2022-03-21 21:18:15 字數 441 閱讀 3671

無法使用索引了,開頭是不確定的,mysql也無法進行優化了,只能掃瞄表了。

如果業務需要%就放開頭我們也沒辦法,一般情況需求都是這樣的,畢竟優化還是為業務服務的。

建立復合索引idx_name_age

select name,age from tb where name like '%e%';

查詢是覆蓋索引的,起碼比全表掃瞄要好。

如果需要更多字段的資料而不單單是age的話,可以進行兩次查詢,第一次通過name來獲取id(這一步是索引掃瞄),第二步拿獲取來的資料在進行id匹配查詢(這一步效率很高,ref或者const)。

like語句

select `column` from `table` where `condition` like `%keyword%'

事實上,可以使用 locate(position) 和 instr 這兩個函式來代替

LIKE匹配關鍵字

1.匹配任意數目字元 包括零個字元 select from edo user where true name like 王 應用 關鍵字查詢 where u.true name like 2.匹配任何單個字元 select from edo user where true name like 王 應...

Oracle優化 恰當使用like關鍵字

這篇文章非原創,都是我從網上彙總再加上自己的專案經驗得出來的,感謝那些牛人們 oracle中使用like的基本原則和注意事項 1 盡量避免使用like 這種形式的sql,因為它會導致索引無效 代表常量,下同 可以通過instr 做出同樣的效果,優點是oracle可以使用索引,例如 select fr...

MySQL 優化之 EXPLAIN 關鍵字

mysql查詢優化之explain的深入解析 首先執行如下的 sql 語句 create table ifnot exists article id int 10 unsigned not null auto increment,author id int 10 unsigned not null,...