明輝手游網(wǎng)中心:是一個(gè)免費(fèi)提供流行視頻軟件教程、在線學(xué)習(xí)分享的學(xué)習(xí)平臺(tái)!

oracle使用索引與不使用索引時(shí)的性能比較

[摘要]本篇文章給大家?guī)淼膬?nèi)容是關(guān)于oracle使用索引和不使用索引時(shí)的性能對比,有一定的參考價(jià)值,有需要的朋友可以參考一下,希望對你有所幫助。首先準(zhǔn)備一張百萬條數(shù)據(jù)的表,這樣分析數(shù)據(jù)差距更形象!下面用分...
本篇文章給大家?guī)淼膬?nèi)容是關(guān)于oracle使用索引和不使用索引時(shí)的性能對比,有一定的參考價(jià)值,有需要的朋友可以參考一下,希望對你有所幫助。

首先準(zhǔn)備一張百萬條數(shù)據(jù)的表,這樣分析數(shù)據(jù)差距更形象!

下面用分頁表數(shù)據(jù)對表進(jìn)行分析,根據(jù)EMP_ID 字段排序,使用索引和不使用索引性能差距!

sql查詢語法準(zhǔn)備,具體業(yè)務(wù)根據(jù)具體表書寫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;

計(jì)算出SQL性能,使用

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

如下圖:

使用索引前:

oracle使用索引和不使用索引時(shí)的性能對比

使用索引后

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

以上就是oracle使用索引和不使用索引時(shí)的性能對比的詳細(xì)內(nèi)容,更多請關(guān)注php中文網(wǎng)其它相關(guān)文章!


學(xué)習(xí)教程快速掌握從入門到精通的SQL知識(shí)。