full index scan:全索引掃描,查詢時,遍歷索引樹來獲取數據行。如果數據不是密集的會產生隨機IO
在執行計划中是Type列,index
full table scan:通過讀物理表獲取數據,順序讀磁盤上的文件。這種情況會順序讀磁盤上的文件。
在執行計划中是Type列,all
covering index:覆蓋索引,如果where條件的列和返回的數據在一個索引中,那么不需要回查表,那么就叫覆蓋索引。
在執行計划中是extra那一列,using index
full index scan vs full table scan
全索引掃描並不一定就比全表掃描好,取決於數據存儲位置。
如果數據在內存,那么這兩種沒有太大區別。
如果數據在磁盤,全表掃描比全索引掃描要好,這是因為,全表掃描是順序讀數據,sequential read,是順序IO
而全索引掃描,可能會產生隨機讀(reandom read),隨機IO,顯然,順序讀要比隨機讀快很多。
查看執行計划的樣例

