本篇文章給大家帶來的內容是關于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);打印出性能分析表
如下圖:
使用索引前:
使用索引后
可以清晰看到使用后cpu使用率很低,并且檢索是從索引開始而不是全文檢索
? 版權聲明
文章版權歸作者所有,未經允許請勿轉載。
THE END