Oracle 塊大小(默認8KB)

參數db_block_size;
這個參數只能設置成底層操作系統物理塊大小的整數倍,最好是2的n次方倍。
如WINDOWS下4KB,8KB,16KB
且該參數需要在建庫的時候指定,一旦指定不能更改。
雖然在ORACLE9I以上可以指定表空間的數據庫大小,允許同時使用包括非默認大小在內的數據庫塊大小。不過需要設置指定大小數據塊的buffer_cache.
小的塊:
小的塊降低塊競爭,因爲每個塊中的行較少.
小的塊對於小的行有益.
小的塊對於隨意的訪問較好.如果一個塊不太可能在讀入內存後被修改,那麼塊的大小越小使用buffer cache越有效率。當內存資源很珍貴時尤爲重要,因爲數據庫的buffer cache是被限制大小的。
劣勢:
小塊的管理消費相對大.
因爲行的大小你可能只在塊中存儲很小數目的行,這可能導致額外的I/O。
小塊可能導致更多的索引塊被讀取

大的塊
好處:
更少的管理消費和更多存儲數據的空間.
大塊對於有順序的讀取較好.  譬如說全表掃描
大塊對很大的行較好
大塊改進了索引讀取的性能.大的塊可以在一個塊中容納更多的索引條目,降低了大的索引級的數量.越少的index level意味着在遍歷索引分支的時候越少的I/O。
劣勢:
大塊不適合在OLTP中用作索引塊,因爲它們增加了在索引葉塊上的塊競爭。
如果你是隨意的訪問小的行並有大的塊,buffer cache就被浪費了。例如,8 KB的block size 和50 byte row size,你浪費了7,950

<script type=text/javascript charset=utf-8 src="http://static.bshare.cn/b/buttonLite.js#style=-1&uuid=&pophcol=3&lang=zh"></script> <script type=text/javascript charset=utf-8 src="http://static.bshare.cn/b/bshareC0.js"></script>
閱讀(617) | 評論(0) | 轉發(0) |
給主人留下些什麼吧!~~
評論熱議
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章