oracle使用索引和不使用索引效能分析
阿新 • • 發佈:2018-12-14
首先準備一張百萬條資料的表,這樣分析資料差距更形象!
下面用分頁表資料對錶進行分析,根據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使用率很低,並且檢索是從索引開始而不是全文檢索