文章詳情頁
mysql優(yōu)化 - mysql 模糊查詢和order by同用如何建立索引?
瀏覽:110日期:2022-06-11 13:49:18
問題描述
比如現(xiàn)在有這樣一個mysql語句:
select * from city where city_name like ’%hf%’ order by created_at;
這樣的sql語句如何建立索引呢,如果是建立復合索引,使用:
key(created_at,city_name)
這個由于created_at在前面,根據(jù)索引的最左匹配原則退化成了key(created_at).
key(city_name,created_at)
肯定也不行,前面是模糊查詢,這個復合索引退化成了key(city),那么這種情況只能建立單個的索引列來解決問題嗎?請教各位大大.
問題解答
回答1:前后都是%是不走索引的,都沒有索引退化的問題,要么改sql成前綴匹配要么加全文索引(對于短字串并不合適),再有就是對于這種基本不變的數(shù)據(jù)在應用里面是可以放到搜索引擎里的,可以利用到它的分詞器檢索
相關(guān)文章:
1. javascript - 數(shù)組原聲方法中的一段代碼2. python小白的基礎問題 關(guān)于while循環(huán)的嵌套3. MySQL客戶端吃掉了SQL注解?4. javascript - JS設置Video視頻對象的currentTime時出現(xiàn)了問題,IE,Edge,火狐,都可以設置,反而chrom卻...5. 求大神幫我看看是哪里寫錯了 感謝細心解答6. javascript - 百度echarts series數(shù)據(jù)更新問題7. python - Django分頁和查詢參數(shù)的問題8. javascript - 圖片能在網(wǎng)站顯示,但控制臺仍舊報錯403 (Forbidden)9. php自學從哪里開始?10. phpstady在win10上運行
排行榜

熱門標簽