oracle使用索引與不使用索引時(shí)的性能比較
發(fā)表時(shí)間:2023-07-10 來源:明輝站整理相關(guān)軟件相關(guān)文章人氣:
[摘要]本篇文章給大家?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);打印出性能分析表
如下圖:
使用索引前:
使用索引后
可以清晰看到使用后cpu使用率很低,并且檢索是從索引開始而不是全文檢索
以上就是oracle使用索引和不使用索引時(shí)的性能對比的詳細(xì)內(nèi)容,更多請關(guān)注php中文網(wǎng)其它相關(guān)文章!
學(xué)習(xí)教程快速掌握從入門到精通的SQL知識(shí)。