文章詳情頁
mysql優(yōu)化 - mysql 模糊查詢和order by同用如何建立索引?
瀏覽:202日期: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ù)在應(yīng)用里面是可以放到搜索引擎里的,可以利用到它的分詞器檢索
相關(guān)文章:
1. mac里的docker如何命令行開啟呢?2. 為什么我ping不通我的docker容器呢???3. nignx - docker內(nèi)nginx 80端口被占用4. 關(guān)docker hub上有些鏡像的tag被標記““This image has vulnerabilities””5. docker容器呢SSH為什么連不通呢?6. Docker for Mac 創(chuàng)建的dnsmasq容器連不上/不工作的問題7. angular.js使用$resource服務(wù)把數(shù)據(jù)存入mongodb的問題。8. javascript - 最近用echarts做統(tǒng)計圖時遇到兩個問題!!9. docker 下面創(chuàng)建的IMAGE 他們的 ID 一樣?這個是怎么回事????10. docker gitlab 如何git clone?
排行榜

熱門標簽
網(wǎng)公網(wǎng)安備