索引的掃描方式

1、INDEX RANGE SCAN掃描方式

select * from t where object_id=8;   

這是一種針對索引高度較低特性實現的掃描方式,在返回記錄比較少的時候相當高效。

2、INDEX FULL SCAN (MIN/MAX)掃描方式

select max(object_id) from t;

這是針對最大最小取值的掃描方式

3、INDEX FULL SCAN掃描方式

select * from t  order by object_id;

索引全掃描,一次只讀取一個塊

4、INDEX FAST FULL SCAN掃描方式

select count(*) from t;

索引全掃描,一次讀取多個塊;


一次讀取多個塊不容易保證有序,一次讀取一個塊可以保證有序,因此在有排序的場合,INDEX FULL SCAN可以讓排序消除,INDEX FAST FULL SCAN雖然減少了邏輯讀,但是排序的動作無法排除。count,sum之類的統計無需排序,一般都走INDEX FAST FULL SCAN,而涉及排序語句,就要權衡利弊了,也許INDEX FAST FULL SCAN更快,也可能

INDEX FULL SCAN更快,需要優化器根據成本進行選擇了。

注(object_id爲索引字段)

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章