1. 程式人生 > >mysql優化(二)

mysql優化(二)

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()時,對查詢的欄位加上索引能夠提高查詢效率。

子查詢的優化

Group by子句的優化

Limit查詢優化

如何選擇合適的列做索引

索引的維護及優化