1.Bitmap index使用
DROP TABLE t;
dingjun123@ORADB》 SELECT COUNT(*),
COUNT(*) COUNT(DISTINCTOWNER)
76422 35
CREATE TABLE bitmap_test(ID NUMBER,status NUMBER);
CREATE BITMAP INDEX idx_bitmap_test ON bitmap_test(status);
INSERT INTO bitmap_test VALUES(1,0);
INSERT INTO bitmap_test VALUES(2,0);
INSERT INTO bitmap_test VALUES(3,0);
INSERT INTO bitmap_test VALUES(1,1);
INSERT INTO bitmap_test VALUES(2,1);
INSERT INTO bitmap_test VALUES(3,1);
COMMIT;
按照紅色數(shù)字標(biāo)識(shí)執(zhí)行順序:
SESSION1:
SESSION2:
出現(xiàn)enq: TX - row lock contention等待。
1)Bitmap index上如果DML操作,按照位圖索引塊級(jí)別加鎖,鎖定的行多,容易造成阻塞或死鎖。
2)因此,雖然Bitmap index在一些統(tǒng)計(jì)運(yùn)算、提升低選擇性列運(yùn)算性能上有優(yōu)勢(shì),Bitmap index在OLTP中則是堅(jiān)決杜絕使用的。只有在OLAP環(huán)境下,數(shù)據(jù)加載完畢后,基本處于只讀狀態(tài),主要進(jìn)行統(tǒng)計(jì)分析,才比較適合。
這個(gè)例子,在B*tree中則不會(huì)出現(xiàn)阻塞或死鎖情況。
編輯:hfy
-
死鎖
+關(guān)注
關(guān)注
0文章
25瀏覽量
8208 -
OLAP
+關(guān)注
關(guān)注
0文章
24瀏覽量
10305
發(fā)布評(píng)論請(qǐng)先 登錄
開(kāi)關(guān)電源的原理與設(shè)計(jì).part2
創(chuàng)意電子設(shè)計(jì)與制作part2
Arduino從基礎(chǔ)到實(shí)踐part2
AVR單片機(jī)原理及測(cè)控工程應(yīng)用part2
開(kāi)發(fā)板,Cyclone_II_EP2C20_原理圖.part2
ADI實(shí)驗(yàn)室電路合集(第一冊(cè)).part2
STM32 USB培訓(xùn)_Part2 USB IP及其庫(kù)的使用

評(píng)論