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?=?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?=?10;

計算出SQL性能,使用

select?*?from?TABLE(dbms_xplan.display);打印出性能分析表

如下圖:

使用索引前:

oracle使用索引和不使用索引時的性能對比

使用索引后

可以清晰看到使用后cpu使用率很低,并且檢索是從索引開始而不是全文檢索

? 版權聲明
THE END
喜歡就支持一下吧
點贊12 分享