bitmap
通常情況下,索引都要耗費比較大的儲存空間,點陣圖採用了壓縮技術實現磁碟空間
縮減。B-tree用在高基數(即列的資料相異度大),點陣圖用在低基數列。點陣圖索引的
基本原理是在索引中使用點陣圖而不是列值。通常在事實表和維表的鍵之間有很低的集的勢(cardinality),使用點陣圖索引
,儲存更為有效,與B*Tree索引比較起來,只需要更少的儲存空間,這樣每次讀取可以讀到更多的記錄,而且與B*Tree索
引相比,點陣圖索引將比較,連線和聚集都變成了位算術運算,大大減少了執行時間,從而得到效能上的極大的提升。
在Oracle中如何合理的使用點陣圖索引?以下的幾個事項應該考慮。
* 如果要使用點陣圖索引,初始化引數STAR_TRANSFORMATION_ENABLED應該設定為TRUE.
* 最佳化模式應該是CBO。對於資料倉儲的環境中,總是應該考慮使用CBO(COST-BASEDOPTIMIZER)。
* 點陣圖索引應該建立在每一個事實表的外來鍵列上。(這只是一個一般的規則.)
此外,對於資料表中的cardinality如何客觀的確定也是一個問題,一萬條資料中只包含3個值的集和算是低的了,那
麼一億條記錄中包含3萬條記錄算不算低的呢?對於這樣的情況,建議幾行一下資料的模擬測試,一般來說,在資料倉儲環
境中,點陣圖索引的效能要好於B*Tree索引。還要注意點陣圖索引不是為OLTP資料庫設計的,不應該在OLTP資料庫中大量的使
用它,尤其是對那些有更新操作的表 。
Oracle的索引主要包含兩類:BTree和點陣圖索引。預設情況下大多使用Btree索引,該索引就是通常所見 唯一索引、聚
簇索引等等,Btree用在OLTP,加快查詢速度。點陣圖索引是Oracle的比較引人注目的地方,其主要用在OLAP(聯機資料分析
)方面,也就是資料倉儲方面用到,目的是在加快查詢速度是,節省儲存空間。通常情況下,索引都要耗費比較大的儲存
空間,點陣圖採用了壓縮技術實現磁碟空間縮減。Btree用在高基數(即列的資料相異度大),點陣圖用在低基數列。點陣圖索引
的基本原理是在索引中使用點陣圖而不是列值。通常在事實表和維表的鍵之間有很低的集的勢(cardinality),使用點陣圖索
引,儲存更為有效,與B*Tree索引比較起來,只需要更少的儲存空間,這樣每次讀取可以讀到更多的記錄,而且與B*Tree
索引相比,點陣圖索引將比較,連線和聚集都變成了位算術運算,大大減少了執行時間,從而得到效能上的極大的提升。
在Oracle中如何合理的使用點陣圖索引?以下的幾個事項應該考慮。
* 如果要使用點陣圖索引,初始化引數STAR_TRANSFORMATION_ENABLED應該設定為TRUE.
* 最佳化模式應該是CBO。對於資料倉儲的環境中,總是應該考慮使用CBO(COST-BASEDOPTIMIZER)。
* 點陣圖索引應該建立在每一個事實表的外來鍵列上。(這只是一個一般的規則.)
此外,對於資料表中的cardinality如何客觀的確定也是一個問題,一萬條資料中只包含3個值的集和算是低的了,那
麼一億條記錄中包含3萬條記錄算不算低的呢?對於這樣的情況,建議幾行一下資料的模擬測試,一般來說,在資料倉儲環
境中,點陣圖索引的效能要好於B*Tree索引。還要注意點陣圖索引不是為OLTP資料庫設計的,不應該在OLTP資料庫中大量的使
用它,尤其是對那些有更新操作的表 。
Oracle的索引主要包含兩類:BTree和點陣圖索引。預設情況下大多使用Btree索引,該索引就是通常所見 唯一索引、聚
簇索引等等,Btree用在OLTP,加快查詢速度。點陣圖索引是Oracle的比較引人注目的地方,其主要用在OLAP(聯機資料分析
)方面,也就是資料倉儲方面用到,目的是在加快查詢速度是,節省儲存空間。通常情況下,索引都要耗費比較大的儲存
空間,點陣圖採用了壓縮技術實現磁碟空間縮減。Btree用在高基數(即列的資料相異度大),點陣圖用在低基數列。點陣圖索引
的基本原理是在索引中使用點陣圖而不是列值。通常在事實表和維表的鍵之間有很低的集的勢(cardinality),使用點陣圖索
引,儲存更為有效,與B*Tree索引比較起來,只需要更少的儲存空間,這樣每次讀取可以讀到更多的記錄,而且與B*Tree
索引相比,點陣圖索引將比較,連線和聚集都變成了位算術運算,大大減少了執行時間,從而得到效能上的極大的提升。
在Oracle中如何合理的使用點陣圖索引?以下的幾個事項應該考慮。
* 如果要使用點陣圖索引,初始化引數STAR_TRANSFORMATION_ENABLED應該設定為TRUE.
* 最佳化模式應該是CBO。對於資料倉儲的環境中,總是應該考慮使用CBO(COST-BASEDOPTIMIZER)。
* 點陣圖索引應該建立在每一個事實表的外來鍵列上。(這只是一個一般的規則.)
此外,對於資料表中的cardinality如何客觀的確定也是一個問題,一萬條資料中只包含3個值的集和算是低的了,那
麼一億條記錄中包含3萬條記錄算不算低的呢?對於這樣的情況,建議幾行一下資料的模擬測試,一般來說,在資料倉儲環
境中,點陣圖索引的效能要好於B*Tree索引。還要注意點陣圖索引不是為OLTP資料庫設計的,不應該在OLTP資料庫中大量的使
用它,尤其是對那些有更新操作的表 。
Oracle的索引主要包含兩類:BTree和點陣圖索引。預設情況下大多使用Btree索引,該索引就是通常所見 唯一索引、聚
簇索引等等,Btree用在OLTP,加快查詢速度。點陣圖索引是Oracle的比較引人注目的地方,其主要用在OLAP(聯機資料分析
)方面,也就是資料倉儲方面用到,目的是在加快查詢速度是,節省儲存空間。通常情況下,索引都要耗費比較大的儲存
空間,點陣圖採用了壓縮技術實現磁碟空間縮減。Btree用在高基數(即列的資料相異度大),點陣圖用在低基數列。點陣圖索引
的基本原理是在索引中使用點陣圖而不是列值。通常在事實表和維表的鍵之間有很低的集的勢(cardinality),使用點陣圖索
引,儲存更為有效,與B*Tree索引比較起來,只需要更少的儲存空間,這樣每次讀取可以讀到更多的記錄,而且與B*Tree
索引相比,點陣圖索引將比較,連線和聚集都變成了位算術運算,大大減少了執行時間,從而得到效能上的極大的提升。
在Oracle中如何合理的使用點陣圖索引?以下的幾個事項應該考慮。
* 如果要使用點陣圖索引,初始化引數STAR_TRANSFORMATION_ENABLED應該設定為TRUE.
* 最佳化模式應該是CBO。對於資料倉儲的環境中,總是應該考慮使用CBO(COST-BASEDOPTIMIZER)。
* 點陣圖索引應該建立在每一個事實表的外來鍵列上。(這只是一個一般的規則.)
此外,對於資料表中的cardinality如何客觀的確定也是一個問題,一萬條資料中只包含3個值的集和算是低的了,那
麼一億條記錄中包含3萬條記錄算不算低的呢?對於這樣的情況,建議幾行一下資料的模擬測試,一般來說,在資料倉儲環
境中,點陣圖索引的效能要好於B*Tree索引。還要注意點陣圖索引不是為OLTP資料庫設計的,不應該在OLTP資料庫中大量的使
用它,尤其是對那些有更新操作的表 。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/35489/viewspace-687729/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- c# svg轉Bitmap Bitmap轉ImageSourceC#SVG
- Jedis bitmap
- Bitmap回收—Canvas: trying to use a recycled bitmap android.graphicsCanvasAndroid
- Android Bitmap 使用Android
- 理解Android BitmapAndroid
- BitMap介紹
- Bitmap、RoaringBitmap原理分析
- Android Bitmap優化Android優化
- 7.37 BITMAP_OR_AGG
- 7.36 BITMAP_COUNT
- 演算法---BitMap演算法
- BitMap與RoaringBitmap、JavaEWAHJava
- Android: Bitmap/Canvas/DrawableAndroidCanvas
- Android中的BitmapAndroid
- WPF Bitmap轉imagesource
- 獲取bitmap大小
- Bitmap Indexing in DBMS Bitmap Index vs. B-tree Index low cardinalityIndex
- 7.35 BITMAP_CONSTRUCT_AGGStruct
- 7.34 BITMAP_BUCKET_NUMBER
- 7.33 BITMAP_BIT_POSITION
- Redis 中 Bitmap 詳解Redis
- Clickhouse的bitmap函式函式
- Android-認識BitmapAndroid
- Bitmap優化詳談優化
- 探索Bitmap使用姿勢
- bitMap原理及實戰
- Android JNI 之 Bitmap 操作Android
- android bitmap壓縮方案Android
- 詳解BitMap演算法演算法
- Redis的Bitmap、HyperLogLog和GeoRedis
- 實現簡單的BitMap
- 在python中使用BitMap排序Python排序
- BitMap演算法詳解演算法
- 管理 Bitmap 記憶體(譯)記憶體
- 怎樣計算Bitmap的記憶體佔用和Bitmap載入優化記憶體優化
- Redis 基礎 -- 點陣圖(bitmap)資料結構和 bitmap的常用命令Redis資料結構
- BMP(Bitmap Image File)解碼流程:
- bitmap技術解析:redis與roaringBitmapRedis
- Redis 中 BitMap 的使用場景Redis