use temporary梧油,use filesort優(yōu)化建議:
- use temporary:需要用臨時(shí)表存儲(chǔ)結(jié)果集,常見于group by埂蕊,order by操作
- use filesort:無法利用索引進(jìn)行排序,而使用外部文件排序,常見于order by操作
通常產(chǎn)生use temporary的條件:
- group by的列沒有走索引奇唤,產(chǎn)生臨時(shí)表
- group by時(shí),select的列不止group by的列匹摇,并且group by的列不是主鍵
- group by與order by的列不同咬扇,并且沒有建立正確順序的索引
- group by或order by的列不是來自JOIN語句第一個(gè)表.會(huì)產(chǎn)生臨時(shí)表
- distinct 和 order by的列沒有走索引
通常產(chǎn)生use filesort的條件:
- order by的列沒有走索引
- order by的字段順序與索引順序不一致
優(yōu)化建議:
- group by 與 order by字段增加索引
- group by 與 order by字段的索引滿足最左匹配原則
- group by 與 order by字段不一致時(shí),盡量不同時(shí)出現(xiàn)在同一sql語句中