1. 程式人生 > >oracle使用索引和不使用索引效能分析

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使用率很低,並且檢索是從索引開始而不是全文檢索