日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Oracle 索引概述

發布時間:2025/3/15 编程问答 19 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Oracle 索引概述 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Oracle 提供了多種不同類型的索引以供使用。簡單地說,Oracle 中包括如下索引:
B*樹索引:這些是我所說的“傳統“索引。到目前為止,這是 Oracle 和大多數其他數據庫中最常用
的索引。B*樹的構造類似于二叉樹,能根據鍵提供一行或一個行集的快速訪問,通常只需很少的讀操作就
能找到正確的行。不過,需要注意重要的一點,”B*樹“中的”B“不代表二叉(binary),而 代 表 平 衡( balanced)。
B*樹索引并不是一顆二叉樹,這一點在介紹如何在磁盤上物理地存儲 B*樹時就會了解到。B*樹索引有以下
子類型:
索引組織表(index organized table):索引組織表以 B*樹結構存儲。堆表的數據行是以一種無組
織的方式存儲的(只要有可用的空間,就可以放數據),而 IOT 與之不同,IOT 中的數據要按主鍵的順序存
儲和排序。對應用來說,IOT 表現得與“常規“表并無二致;需要使用 SQL 來正確地訪問 IOT。IOT 對信息
獲取、空間系統和 OLAP 應用最為有用。IOT 在上一章已經詳細地討論過。
B*樹聚簇索引(B*tree cluster index)這些是傳統 B*樹索引的一個變體(只是稍有變化)。B*樹聚
簇索引用于對聚簇鍵建立索引(見第 11.章中“索引聚簇表“一節),所以這一章不再討論。在傳統 B*樹中 ,
鍵都指向一行;而 B*樹聚簇不同,一個聚簇鍵會指向一個塊,其中包含與這個聚簇鍵相關的多行。
降序索引(descending index):降序索引允許數據在索引結構中按“從大到小“的順序(降序)排
序,而不是按”從小到大“的順序(升序)排序。我們會解釋為什么降序索引很重要,并說明降序索引如
何工作。
反向鍵索引(reverse key index):這也是 B*樹索引,只不過鍵中的字節會“反轉“。利用反向鍵
索引,如果索引中填充的是遞增的值,索引條目在索引中可以得到更均勻的分布。例如,如果使用一個序
列來生成主鍵,這個序列將生成諸如 987500、987501、987502 等值。這些值是順序的,所以倘若使用一個
傳統的 B*樹索引,這些值就可能放在同一個右側塊上,這就加劇了對這一塊的競爭。利用反向鍵,Oracle
則會邏輯地對 205789、105789、005789 等建立索引。Oracle 將數據放在索引中之前,將先把所存儲數據
的字節反轉,這樣原來可能在索引中相鄰放置的值在字節反轉之后就會相距很遠。通過反轉字節,對索引
的插入就會分布到多個塊上。
位圖索引(bitmap index):在一顆 B*樹中,通常索引條目和行之間存在一種一對一的關系:一個索
引條目就指向一行。而對于位圖索引,一個索引條目則使用一個位圖同時指向多行。位圖索引適用于高度
重復而且通常只讀的數據(高度重復是指相對于表中的總行數,數據只有很少的幾個不同值)??紤]在一個
有 100 萬行的表中,每個列只有 3 個可取值:Y、N 和 NULL。舉例來說,如果你需要頻繁地統計多少行有值
Y,這就很適合建立位圖索引。不過并不是說如果這個表中某一列有 11.000 個不同的值就不能建立位圖索
引,這一列當然也可以建立位圖索引。在一個 OLTP 數據庫中,由于存在并發性相關的問題,所以不能考慮
使用位圖索引(后面我們就會討論這一點)。注意,位圖索引要求使用 Oracle 企業版或個人版。
位圖聯結索引(bitmap join index):這為索引結構(而不是表)中的數據提供了一種逆規范化的方
法。例如,請考慮簡單的 EMP 和 DEPT 表。有人可能會問這樣一個問題:“多少人在位于波士頓的部門工作?
“EMP 有一個指向 DEPT 的外鍵,要想統計 LOC 值為 Boston 的部門中的員工人數,通常必須完成表聯結,
將 LOC 列聯結至 EMP 記錄來回答這個問題。通過使用位圖聯結索引,則可以在 EMP 表上對 LOC 列建立索引。
基于函數的索引(function-based index):這些就是 B*樹索引或位圖索引,它將一個函數計算得到
的結果存儲在行的列中,而不是存儲列數據本身。可以把基于函數的索引看作一個虛擬列(或派生列)上
的索引,換句話說,這個列并不物理存儲在表中。基于函數的索引可以用于加快形如 SELECT * FROM T WHERE
FUNCTION(DATABASE_COLUMN) = SAME_VALUE 這樣的查詢,因為值 FUNCTION(DATABASE_COLUMN)已經提前計
算并存儲在索引中。

應用域索引(application domain index):應用域索引是你自己構建和存儲的索引,可能存儲在
Oracle 中,也可能在 Oracle 之外。你要告訴優化器索引的選擇性如何,以及執行的開銷有多大,優化器
則會根據你提供的信息來決定是否使用你的索引。Oracle 文本索引就是應用域索引的一個例子;你也可以
使用構建 Oracle 文本索引所用的工具來建立自己的索引。需要指出,這里創建的“索引“不需要使用傳統
的索引結構。例如,Oracle 文本索引就使用了一組表來實現其索引概念。

轉載于:https://www.cnblogs.com/lbp0200/archive/2013/03/05/2944559.html

總結

以上是生活随笔為你收集整理的Oracle 索引概述的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 欧洲亚洲一区 | ass日本粉嫩pics珍品 | 中文字幕韩日 | 免费看片视频 | 精品人人人 | 超碰超碰在线 | 国产探花视频在线观看 | 成人a毛片久久免费播放 | 日韩成人黄色片 | 日韩久久精品一区二区 | 欧美女优一区 | 日本福利网站 | 18av视频 | 成人免费毛片片v | 四虎首页 | 国产黄色一级片视频 | 狠狠躁夜夜躁人 | 久草视频在线免费看 | 亚洲精品推荐 | 国产日韩欧美自拍 | 成人免费在线小视频 | 乌克兰性极品xxxhd | 黄色片的网站 | 国产精品网友自拍 | 国产在线日韩 | 一区二区三区www污污污网站 | 日韩精品一 | 夜夜爽www| 精品午夜福利在线观看 | 午夜毛片视频 | 久一视频在线 | 日本一区二区三区四区在线观看 | 朋友的姐姐2在线观看 | 中文在线视频 | 免费亚洲婷婷 | 大屁股一区二区三区 | 爱爱免费小视频 | 日本美女日批视频 | 成人123| 伊人网大香 | 国产片久久 | 国产精品午夜在线观看 | 欧美精品国产一区 | 久久99热人妻偷产国产 | 一级α片免费看刺激高潮视频 | 嫩模一区二区三区 | 韩国伦理片在线看 | 91在线视频| 蜜桃视频一区二区三区 | 欧美精品在线视频观看 | 亚洲成人av一区二区三区 | 一级黄色片网址 | 天天av综合| 国产精品一区不卡 | 国产精品久久久一区二区三区 | 向日葵视频在线 | www操操操 | 精品人妻在线视频 | 美国美女群体交乱 | av中文在线播放 | 欧美三级视频网站 | 最新免费黄色网址 | 毛片美女 | 亚洲精品综合在线观看 | 亚洲女人视频 | 成人小视频在线免费观看 | 欧美成人精品一区二区三区在线看 | 亚洲成人www | jzzijzzij亚洲成熟少妇18 欧美www在线观看 | 二区国产| 欧美极品少妇xxxxⅹ裸体艺术 | 亚洲免费精品视频 | 日本aa大片 | 日韩中文字幕网站 | 亚洲少妇网站 | 男女国产视频 | 午夜一级片 | 黄色av网站免费 | 久久合| 国产一区二区在线免费观看视频 | 国产一区视频在线免费观看 | 成年人天堂 | 国产熟女一区二区三区五月婷 | 国产精品99久久久久久久久久久久 | 国产区在线看 | 日日日日干 | 久久字幕 | 中国毛片网站 | 欧美一级少妇 | 国产成人在线影院 | 天堂中文在线免费观看 | 四虎久久久 | 夜间福利在线 | 男插女视频网站 | 国产精品对白 | 东京热av一区 | 久久精品视频在线观看 | 让男按摩师摸好爽 | 亚洲少妇网站 |