|
informix一個頁面最多可以存放255條記錄,每個頁面的系統(tǒng)overhead是28個字節(jié),每條記錄在這個頁面的slot table表中占用4個字節(jié),slot table記錄了每條記錄在這個頁面上的偏移量和大小;因此每張表在一個頁面上的最大記錄數(shù)是(pagesize - 28) /( rowsize + 4);當有些表的rowrize比較大,數(shù)據(jù)量增長
又比較快的時候,使用缺省的頁面大小(2k或4k)是不合適的,需要使用更大的pagesize,在linux/hp/sun上最大的pagesize 是16k,在aix上最大的pagesize是32k;informix一張表在2k頁面大小的dbspace上的存儲上限是32GB,在4K頁面大小的 dbspace的存儲上限是64GB,如果pagesize變大之后,存儲上限也相應的翻倍。當數(shù)據(jù)量變大時,informix主要通過分片的方式來保證空間的擴容,分片的數(shù)目可以很多的。 海量數(shù)據(jù)使用大的pagesize,并且分片,但大的pagesize從informix 10.0版本才可以設置,分片是informix很早就有的功能,而且索引也可以分片; 分片的注意事項: 1)大表分片時不要使用like操作附,使用like操作附不能跳過片,可以使用大于、小于、[]等; 2)從11版本開始,如果year/month/day函數(shù)出現(xiàn)在分片表達式中,可以跳過片; 3)表的first extent size一般設置為總數(shù)據(jù)量的1/4,next extent size一般設置為總數(shù)據(jù)量的1/8;如果是分片的表,需要用總數(shù)據(jù)量除以總分片數(shù),再進行計算; 4)程序中如果不使用rowid,在分片是不要使用with rowids子句,如果這樣做了,會增加一個informix內(nèi)部維護的索引,另外,數(shù)據(jù)倒入速度也會變慢; 5)聯(lián)機交易系統(tǒng)不要使用round robin的分片方式 |
|
|