鍍金池/ 問答/數(shù)據(jù)庫/ 無法使用到索引的MySQL語句優(yōu)化

無法使用到索引的MySQL語句優(yōu)化

無法使用到索引的MySQL語句優(yōu)化,比如一些0和1性別,like 度用到了全表掃,數(shù)據(jù)大起來會非??ā?。。這個咋整

回答
編輯回答
忠妾

1、性別這樣的檢索,不適合加索引;
2、like的考慮全文索引,如果簡單的就借助存儲引擎的,復(fù)雜的話就用solr全文檢索

2017年2月10日 19:28
編輯回答
愿如初

你好,可以詳細(xì)地描述下問題嗎?

2017年11月23日 10:22
編輯回答
故人嘆

這種情況肯定首先從業(yè)務(wù)層面優(yōu)化,業(yè)務(wù)上必須使用like '%*'的,那就嘗試下myisam全文索引,或者根據(jù)數(shù)據(jù)量、數(shù)據(jù)更新頻率選擇nosql緩存或者搜索引擎
性別這種列的檢索問題,同樣根據(jù)業(yè)務(wù)看下是否有必要讀取所有數(shù)據(jù),否則就limit限制一下就行了,數(shù)據(jù)分布極端不均的時候加個索引也可以,空間換時間,再不行這種拉取大量數(shù)據(jù)的業(yè)務(wù)也不應(yīng)該出現(xiàn)在線上吧,報表類的需求慢點就慢點吧
總的來說就是這種like和性別列在sql本身來說優(yōu)化空間不大,要從業(yè)務(wù)層面、系統(tǒng)架構(gòu)層面去考慮優(yōu)化

2017年1月21日 12:47