<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    MDA/MDD/TDD/DDD/DDDDDDD
    posts - 536, comments - 111, trackbacks - 0, articles - 0
      BlogJava :: 首頁 :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理

    bitmap位圖索引

    Posted on 2008-06-25 15:12 leekiang 閱讀(3812) 評論(1)  編輯  收藏 所屬分類: oracle
    1,Oracle數(shù)據(jù)庫的位圖索引(Bitmap Index)確實是針對那些數(shù)值稀疏(low-cardinality低基數(shù))的字段,但是還應記住的一點是,它是針對那些值不經常改變的字段的。在實際應用中,如果某個字段的值需要頻繁更新,那么就不適合在它上面創(chuàng)建位圖索引。在位圖索引中,如果你更新或插入其中一條數(shù)值為N的記錄,那么相應表中數(shù)值為N的記錄(可能成百上千條)全部被Oracle鎖定,這就意味著其它用戶不能同時更新這些數(shù)值為N的記錄,其它用戶必須要等第一個用戶提交后,才能獲得鎖,更新或插入數(shù)據(jù)。
    http://blog.ccidnet.com/blog-htm-do-showone-uid-4092-itemid-291252-type-blog.html

    在我們的系統(tǒng)里,不僅不是在一個column上創(chuàng)建bitmap index,而是在多個column上聯(lián)合起來創(chuàng)建bitmap index,從而可以想見,幾乎等同于每個bitmap index entry對應的只有極少數(shù)的rowid,即只對應極少數(shù)的row,而且每個bitmap都要創(chuàng)建一個或多個bitmap segment,相應的,DML操作可能需要頻繁的lock很多rows,影響并發(fā)性(影響也需要修改同樣bitmap entry的用戶),同時,由于pctfree等存儲參數(shù)影響index空間的分配及管理,和由于數(shù)據(jù)操作導致物理地址更改從而修改index entry,擴展,鏈接bitmap index entry,頻繁修改導致的磁盤碎片,block分配鏈接等。這是空間增長和系統(tǒng)性能下降的部分原因。

    bitmap主要用于數(shù)據(jù)倉庫,table有大量的數(shù)據(jù)并且列上基數(shù)很小(一般是column的distinct values占rows總數(shù)的1%以下,或重復出現(xiàn)超過100次以上,Oracle建議此時才可以把該column列為創(chuàng)建bitmap index的侯選字段),同時,還由于數(shù)據(jù)倉庫上并行訪問的事務非常少。bitmap index并不適用于OLTP業(yè)務,OLTP一般都是有大量的并發(fā)事務來修改同樣的數(shù)據(jù)。bitmap主要就是設計來為數(shù)據(jù)倉庫服務的,即應用于低基數(shù)超 級大數(shù)據(jù)量查詢服務,而且只用在where clause里包含and ,or,not,或equality queries(比如在and和or條件的查詢,在把bit轉換成rowid以前,就能很快的得到相應的boolean操作)。
    http://bigboar.itpub.net/post/8411/225321

    2,位圖索引占用的空間很大.一個466萬行記錄的只有兩個字段的表,占用空間約 88M,在該兩個字段上建有一個位圖索引,這個位圖索引占用空間約168M
    http://bigboar.itpub.net/post/8411/225321

    查看各個表(包括索引)占用空間大小的sql:
    Select Segment_Name,Sum(bytes)/1024/1024 From User_Extents Group By Segment_Name

    http://space.itpub.net/193161/viewspace-50292
    http://www.ixdba.com/html/y2007/m05/102-bitmap-index-deadlock.html

    3,Oracle強烈建立,任何一個應用程序的庫表至少需要創(chuàng)建兩個表空間,其中之一用于存儲表數(shù)據(jù),而另一個用于存儲表索引數(shù)據(jù)。因為如果將表數(shù)據(jù)和索引數(shù) 據(jù)放在一起,表數(shù)據(jù)的I/O操作和索引的I/O操作將產生影響系統(tǒng)性能的I/O競爭,降低系統(tǒng)的響應效率。將表數(shù)據(jù)和索引數(shù)據(jù)存放在不同的表空間中(如一 個為APP_DATA,另一個為APP_IDX),并在物理層面將這兩個表空間的數(shù)據(jù)文件放在不同的物理磁盤上,就可以避免這種競爭了。
    擁有獨立的表空間,就意味著可以獨立地為表數(shù)據(jù)和索引數(shù)據(jù)提供獨立的物理存儲參數(shù),而不會發(fā)生相互影響,畢竟表數(shù)據(jù)和索引數(shù)據(jù)擁有不同的特性,而這些特性又直接影響了物理存儲參數(shù)的設定。
    此外,表數(shù)據(jù)和索引數(shù)據(jù)獨立存儲,還會帶來數(shù)據(jù)管理和維護上的方面。如你在遷移一個業(yè)務數(shù)據(jù)庫時,為了降低數(shù)據(jù)大小,可以只遷出表數(shù)據(jù)的表空間,在目標數(shù)據(jù)庫中通過重建索引的方式就可以生成索引數(shù)據(jù)了。
    http://blog.ccidnet.com/blog-htm-do-showone-uid-19759-itemid-341747-type-blog.html

    4,B-Tree索引即normal普通索引

    評論

    # re: bitmap位圖索引  回復  更多評論   

    2009-01-21 10:16 by del
    有用,謝謝。
    主站蜘蛛池模板: 亚洲一区爱区精品无码| 午夜国产羞羞视频免费网站| 国产亚洲色婷婷久久99精品| 59pao成国产成视频永久免费| 亚洲人精品午夜射精日韩| 成人国产精品免费视频| 黄页网站在线看免费| 国产成人综合亚洲亚洲国产第一页| 亚洲精品在线视频观看| 69视频在线观看高清免费| 亚洲日本在线免费观看| 成人毛片18女人毛片免费视频未| av在线亚洲欧洲日产一区二区| 亚洲jjzzjjzz在线播放| 99久久免费精品国产72精品九九 | 天天影视色香欲综合免费| 久久精品国产亚洲av日韩| 亚洲电影免费观看| 亚洲欧美国产国产一区二区三区| 国产免费小视频在线观看| 国产福利免费视频| va亚洲va日韩不卡在线观看| 国产免费MV大全视频网站| 亚洲免费视频网站| a级毛片100部免费观看| 凹凸精品视频分类国产品免费 | 国产成人精品免费视频大全| 亚洲精品你懂的在线观看| 久视频精品免费观看99| 亚洲av无码日韩av无码网站冲| 亚洲日韩VA无码中文字幕| 99re免费视频| 无码一区二区三区亚洲人妻| 亚洲妇熟XXXX妇色黄 | 亚洲 无码 在线 专区| 两个人日本免费完整版在线观看1 两个人的视频www免费 | 国产精品高清全国免费观看| 中文日本免费高清| 日韩亚洲国产高清免费视频| 在线观看亚洲天天一三视| 无人在线直播免费观看|