這篇文章帶給大家的內容是關於oracle使用索引和不使用索引時的效能對比,有一定的參考價值,有需要的朋友可以參考一下,希望對你有幫助。
先準備一張百萬筆資料的表,這樣分析資料差距更有形象!
下面用分頁表資料對資料表進行分析,根據EMP_ID 欄位排序,使用索引和不使用索引效能差距!
sql查詢語法準備,具體業務根據具體表書寫sql語法:
SELECT * FROM (SELECT ROW_.*, ROWNUM ROWNUM_ FROM (SELECT * FROM KQS_SQ_INFO i ORDER BY i.EMP_ID desc ) ROW_ WHERE ROWNUM <= 20) WHERE ROWNUM_ >= 10;
使用 explain plan for可以分析sql
如下:
explain plan for SELECT * FROM (SELECT ROW_.*, ROWNUM ROWNUM_ FROM (SELECT * FROM KQS_SQ_INFO i ORDER BY i.EMP_ID desc ) ROW_ WHERE ROWNUM <= 20) WHERE ROWNUM_ >= 10;
計算SQL效能,使用
select * from TABLE(dbms_xplan.display);打印出性能分析表
如下圖:
使用索引前:
使用索引後
可以清楚地看到使用後cpu使用率很低,並且檢索是從索引開始而不是全文檢索
以上是oracle使用索引和不使用索引時的效能對比的詳細內容。更多資訊請關注PHP中文網其他相關文章!