mysql優化(二)
阿新 • • 發佈:2018-12-10
SQL語句及索引的優化
explain分析sql語句
| ALL | 全表掃描
| index | 索引全掃描
| range | 索引範圍掃描,常用語<,<=,>=,between等操作
| ref | 使用非唯一索引掃描或唯一索引字首掃描,返回單條記錄,常出現在關聯查詢中
| eq_ref | 類似ref,區別在於使用的是唯一索引,使用主鍵的關聯查詢
| const/system | 單條記錄,系統會把匹配行中的其他列作為常數處理,如主鍵或唯一索引查詢
| null | MySQL不訪問任何表或索引,直接返回結果
####由上至下,效率越來越高
Count()和Max()的優化
注意:(1)在使用count(*)和count(id)時可能統計數是不一樣的,因為count(id)查詢的不包含值為null的情況,count(*)則包含值為null的情況。
在使用Max()時,對查詢的欄位加上索引能夠提高查詢效率。