好湿?好紧?好多水好爽自慰,久久久噜久噜久久综合,成人做爰A片免费看黄冈,机机对机机30分钟无遮挡

主頁 > 知識庫 > oracle使用索引與不使用索引的性能詳析

oracle使用索引與不使用索引的性能詳析

熱門標簽:分布式呼叫中心 400電話是不是免費申請 圖像地圖標注 安陽外呼系統免費 海南400電話哪里辦理 南寧人工智能電銷機器人費用 貴陽電話外呼系統哪家好 呼倫貝爾智能手機地圖標注 濟南地圖標注公司

前言

Oracle存儲索引的數據結構是B*樹。位圖索引也是如此,僅僅只是是葉子節點不同B*數索引;

索引由根節點、分支節點和葉子節點組成。上級索引塊包括下級索引塊的索引數據,葉節點包括索引數據和確定行實際位置的rowid。

使用索引的目的:

  • 加快查詢速度
  • 降低I/O操作
  • 消除磁盤排序

何時使用索引:

  • 查詢返回的記錄數
  • 排序表40%
  • 非排序表 7%
  • 表的碎片較多(頻繁添加、刪除)

索引的種類

  • 非唯一索引(最經常使用)
  • 唯一索引
  • 位圖索引
  • 局部有前綴分區索引
  • 局部無前綴分區索引
  • 全局有前綴分區索引
  • 散列分區索引
  • 基于函數的索引

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

總結

以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,如果有疑問大家可以留言交流,謝謝大家對腳本之家的支持。

您可能感興趣的文章:
  • oracle索引的測試實例代碼
  • oracle數據庫關于索引建立及使用的詳細介紹
  • Oracle Index索引無效的原因與解決方法
  • ORACLE檢查找出損壞索引(Corrupt Indexes)的方法詳解
  • Oracle復合索引與空值的索引使用問題小結
  • oracle分區索引的失效和重建代碼示例
  • Oracle關于重建索引爭論的總結
  • Oracle 分區索引介紹和實例演示
  • Oracle CBO優化模式中的5種索引訪問方法淺析
  • oracle索引總結

標簽:郴州 合肥 焦作 許昌 涼山 滁州 南充 遼源

巨人網絡通訊聲明:本文標題《oracle使用索引與不使用索引的性能詳析》,本文關鍵詞  oracle,使用,索引,與,不,的,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《oracle使用索引與不使用索引的性能詳析》相關的同類信息!
  • 本頁收集關于oracle使用索引與不使用索引的性能詳析的相關信息資訊供網民參考!
  • 推薦文章