MySQL like查詢使用索引

2022-05-02 06:27:10 字數 649 閱讀 1999

在使用msyql進行模糊查詢的時候,很自然的會用到like語句,通常情況下,在資料量小的時候,不容易看出查詢的效率,但在資料量達到百萬級,千萬級的時候,查詢的效率就很容易顯現出來。這個時候查詢的效率就顯得很重要!

結論:後置百分號可以用到索引,前置百分號和兩側百分號用不了索引。

like 匹配/模糊匹配,會與 % 和 _ 結合使用。

'%a'//以a結尾的資料'a%'//以a開頭的資料'%a%'//含有a的資料'_a_'//三位且中間字母是a的'_a'//兩位且結尾字母是a的'a_'//兩位且開頭字母是a的

一般情況下like模糊查詢的寫法為(field已建立索引):

select column from table where field like '%keyword%';

上面的語句用explain解釋來看,sql語句並未用到索引,而且是全表搜尋,如果在資料量超大的時候,可想而知最後的效率會是這樣

對比下面的寫法:

select column from table where field like 'keyword%';

這樣的寫法用explain解釋看到,sql語句使用了索引,搜尋的效率大大的提高了!

explain詳解:

mysql like查詢 使用索引

在使用mysql的查詢語句時,可能要利用到like語句。通常情況下,是看不出來語句的差異性的,因為資料量比較小,但是當資料量達到千萬級以上的時候,sql語句的執行效率就顯得非常重要了。lz寫like語句的時候,一般都會是 sql view plain copy select query fileds...

mysql like 命中索引

反向索引 案例 create table my tab x varchar2 20 insert into my tab values abcde commit create index my tab idx on my tab reverse x select from my tab t wher...

MySql like模糊查詢使用詳解

一 sql的模式匹配允許你使用 匹配任何單個字元,而 匹配任意數目字元 包括零個字元 在 mysql中,sql的模式預設是忽略大小寫的。下面顯示一些例子。注意在你使用sql模式時,你不能使用 或!而使用like或not like比較操作符。select 字段 from 表 where 某欄位 lik...