【TUNE_ORACLE】Oracle索引設計思想(一)索引片和匹配列概述
索引片和匹配列
先放圖:
注:如上圖所示,給student表的id列建立一個索引,並且查詢id在11-20區間的所有值(實際表中只有三個匹配的值)。
關於索引片的概念,使用廣泛的描述是定義索引 匹配列的數量,如上圖就只有id這一個匹配列,值的範圍在11-20之間,因此索引片的大小也就確定了。
索引片(黃色區域)掃描方式是緊挨著順序掃描的,但是索引指標對應的表資料的順序很大機率卻是亂序的,而訪問路徑的成本很大程度上是根據索引片的“厚度”(厚度就是謂詞表示式確定的值的範圍)決定的,所以索引片越厚,掃描的索引頁就越多,需要處理的索引記錄也就越多,開銷也就越大,而其中最大的開銷來自於回表的同步讀操作,如上圖的索引行的值在11-20區間,相應的錶行會透過同步讀的方式從表中讀取。
假設where子句有第二個有索引的列,如果這兩列的關聯性越差(對於“關聯性”,就是隻用知道A列的值就能確定出B列的值,舉個極端的例子就是A列的值全部一樣,B列的值也全部一樣,於是如果知道任意A列的值,B列的值就不用查就知道了,就表示A列和B列強關聯,所以關聯性越強,資料的重複率越高),過濾性就越強,那麼這兩個列能夠一起定義的索引片也就越“薄”,對錶的同步讀次數也就越少,開銷就越小。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69992972/viewspace-2758230/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 【TUNE_ORACLE】Oracle索引設計思想(二)索引過濾列概述Oracle索引
- 【TUNE_ORACLE】Oracle索引設計思想(三)過濾因子概述與計算Oracle索引
- 【TUNE_ORACLE】Oracle索引設計思想(四)三星級索引Oracle索引
- 【TUNE_ORACLE】檢視錶,列和索引的統計資訊SQL參考Oracle索引SQL
- 【TUNE_ORACLE】索引定期重建的利與弊Oracle索引
- 【TUNE_ORACLE】列出SQL謂詞中需要建立索引的列SQL參考OracleSQL索引
- 索引與null(一):單列索引索引Null
- 【TUNE_ORACLE】你建立的索引為什麼不工作了?(一)Oracle索引
- oracle重建索引(一)Oracle索引
- Oracle與GreatSQL差異:更改唯一索引列OracleSQL索引
- SQL Server 列儲存索引 第一篇:概述SQLServer索引
- oracle 索引和不走索引的幾種形式Oracle索引
- 【TUNE_ORACLE】Oracle Hint之常用Hint功能概述(一)Oracle
- 【TUNE_ORACLE】列出索引被哪些SQL引用的SQL參考Oracle索引SQL
- 【TUNE_ORACLE】檢視索引的叢集因子SQL參考Oracle索引SQL
- Oracle 索引Oracle索引
- Oracle索引梳理系列(六)- Oracle索引種類之函式索引Oracle索引函式
- MySQL 唯一索引和普通索引MySql索引
- MySQL通過通用列索引來提供一個JSON列索引MySql索引JSON
- 【TUNE_ORACLE】你建立的索引為什麼不工作了?(三)Oracle索引
- 【TUNE_ORACLE】你建立的索引為什麼不工作了?(二)Oracle索引
- mysql索引設計MySql索引
- Oracle中的虛擬列索引-nosegment indexOracle索引Index
- oracle的索引Oracle索引
- 聯合索引和多個單列索引使用中的索引命中情況及索引建立原則索引
- oracle全文索引之同步和優化索引做了什麼Oracle索引優化
- 【TUNE_ORACLE】列出走了低選擇性索引的SQL參考Oracle索引SQL
- 索引設計(組合索引適用場景)索引
- 唯一索引和普通索引的選擇索引
- phoenix全域性索引和本地索引 概述,使用場景,區別等詳解索引
- 索引最左匹配原則索引
- MySQL組合索引和最左匹配原則MySql索引
- elasticsearch如何設計索引Elasticsearch索引
- Oracle 對某列的部分資料建立索引Oracle索引
- mongodb建立索引和刪除索引和背景索引backgroundMongoDB索引
- ORACLE表統計資訊與列統計資訊、索引統計資訊Oracle索引
- oracle重建索引(三)Oracle索引
- 0707_oracle 索引Oracle索引