文章詳情頁
mysql優(yōu)化 - mysql 模糊查詢和order by同用如何建立索引?
瀏覽:118日期:2022-06-11 13:49:18
問題描述
比如現(xiàn)在有這樣一個mysql語句:
select * from city where city_name like ’%hf%’ order by created_at;
這樣的sql語句如何建立索引呢,如果是建立復(fù)合索引,使用:
key(created_at,city_name)
這個由于created_at在前面,根據(jù)索引的最左匹配原則退化成了key(created_at).
key(city_name,created_at)
肯定也不行,前面是模糊查詢,這個復(fù)合索引退化成了key(city),那么這種情況只能建立單個的索引列來解決問題嗎?請教各位大大.
問題解答
回答1:前后都是%是不走索引的,都沒有索引退化的問題,要么改sql成前綴匹配要么加全文索引(對于短字串并不合適),再有就是對于這種基本不變的數(shù)據(jù)在應(yīng)用里面是可以放到搜索引擎里的,可以利用到它的分詞器檢索
相關(guān)文章:
1. php怎么連接數(shù)據(jù)庫2. 在視圖里面寫php原生標(biāo)簽不是要迫不得已的情況才寫嗎3. 小皮面板MySQL怎么設(shè)置開機(jī)自起呢4. 多種方式登陸的的用戶數(shù)據(jù)表設(shè)計5. 請問這是jeson嗎?如何遍歷出來?6. 獲取上次登錄ip的原理是啥?7. 為什么點(diǎn)擊登陸沒反應(yīng)8. 為什么說非對象調(diào)用成員函數(shù)fetch()9. phpstudy v8打開數(shù)據(jù)庫就出錯,而phpstudy 2018不會10. 請問下tp6框架的緩存在哪里設(shè)置,或者說關(guān)閉?
排行榜

熱門標(biāo)簽