like剖析: 基於上述案例,查證度娘,關於like有如下說法: 前提,查詢欄位建立索引 欄位 like ‘%關鍵字%’ 不走索引,速度最慢 欄位 like ‘關鍵字%’ 使用欄位進行升序索引 欄位 like ‘%關鍵字’ 使用欄位進行降序... ...
故事背景:
有一張用戶級表,數據量在千萬級別,而運營人員要查看這張表,其中有一項查詢條件為根據“錯誤類型”(單值)查出所有包含這個類型的數據,而這個數據類型在資料庫存放的方式類似於 “1,2,3,4,5,6,8,9,10,7,11,12” 無序。於是有瞭如下sql。
1 select count(mistake_type) 2 from mitake_table 3 where (r.mistake_type = '1' 4 OR r.mistake_type LIKE '%,1' 5 OR r.mistake_type LIKE '1,%' 6 OR r.mistake_type LIKE '%,1,%')like案例
like剖析:
基於上述案例,查證度娘,關於like有如下說法:
前提,查詢欄位建立索引
- 欄位 like ‘%關鍵字%’ 不走索引,速度最慢
- 欄位 like ‘關鍵字%’ 使用欄位進行升序索引
- 欄位 like ‘%關鍵字’ 使用欄位進行降序索引
那麼問題來了,針對這起事故,你有什麼好的解決辦法呢????????