免费视频淫片aa毛片_日韩高清在线亚洲专区vr_日韩大片免费观看视频播放_亚洲欧美国产精品完整版

打開(kāi)APP
userphoto
未登錄

開(kāi)通VIP,暢享免費(fèi)電子書(shū)等14項(xiàng)超值服

開(kāi)通VIP
Oracle 估算數(shù)據(jù)庫(kù)大小的方法
一.說(shuō)明

一網(wǎng)友問(wèn)我將一個(gè)查詢的結(jié)果集存放到臨時(shí)表里,如果估算臨時(shí)表的大小,當(dāng)時(shí)想的方法是通過(guò)統(tǒng)計(jì)block來(lái)計(jì)算。后來(lái)想,此方法的操作性也不是很高。 最好是能在查詢操作執(zhí)行之前就能估算出大小。

查看了一下ALL_TABLES 表,其中有個(gè)字段:avg_row_len. 該值單位為bytes。 可以一句這個(gè)字段來(lái)進(jìn)行一個(gè)估算。

AVG_ROW_LEN*

NUMBER

 

Average length of a row in the table (in bytes)

http://download.Oracle.com/docs/cd/E11882_01/server.112/e17110/statviews_2117.htm#i1592091

根據(jù)對(duì)表大小的估算,進(jìn)而可以估算出整個(gè)數(shù)據(jù)庫(kù)的大小。 在項(xiàng)目測(cè)試階段,可以根據(jù)所有對(duì)象進(jìn)行估算,從而可以估算出系統(tǒng)上線以后數(shù)據(jù)庫(kù)的大小,根據(jù)這些數(shù)據(jù)可以規(guī)劃存儲(chǔ)。這里要注意一點(diǎn),要給備份留足存儲(chǔ)空間。 一般備份需要的空間是DB的2-3倍。 如果DB 是100G,那么給備份的空間最好是200G以上。

根據(jù)dba_segments視圖可以查看數(shù)據(jù)庫(kù)中占用存儲(chǔ)空間的對(duì)象:

SYS@anqing2(rac2)> select distinctsegment_type from dba_segments;

 

SEGMENT_TYPE

------------------

LOBINDEX

INDEX PARTITION

TABLE PARTITION

NESTED TABLE

ROLLBACK

LOB PARTITION

LOBSEGMENT

INDEX

TABLE

CLUSTER

TYPE2 UNDO

 

11 rows selected.

 

這里主要就是表和索引。把所有表和索引的大小估算出來(lái),在相加就可以估算出DB的大小了。

二. 估算表的大小

表的大小=記錄數(shù)*平均字段大?。╝vg_row_len)

Avg_row_len 可以通過(guò)如下SQL 查詢。 其單位為bytes。

SYS@anqing2(rac2)> selecttable_name,avg_row_len from all_tables where table_name='T1';

 

TABLE_NAME                     AVG_ROW_LEN

------------------------------ -----------

T1                                      93

如果T1 表未來(lái)估計(jì)為1000萬(wàn)行,那么其大小就是1000w*93bytes。

三.估算表上索引的大小

        All_indexes 視圖沒(méi)有all_tables 上的avg_row_len 字段,不過(guò)我們可以通過(guò)視圖和表大小的一個(gè)比率進(jìn)行估算。 表的大小我們可以估算出來(lái),索引的大小可以通過(guò)這個(gè)比率進(jìn)行估算。 

SQL>create index idx_t1_created on t1(created)

SQL>exec dbms_stats.gather_table_stats('SYS','T1',cascade=>TRUE) 

SYS@anqing2(rac2)> selectsegment_name,segment_type,bytes,blocks from dba_segments where segment_namein  ('T1','IDX_T1_CREATED'); 

SEGMENT_NAME    SEGMENT_TYPE            BYTES     BLOCKS

--------------- ---------------------------- ----------

T1              TABLE                 6291456        768

IDX_T1_CREATED  INDEX                 2097152        256 

計(jì)算索引和表的比率:

SYS@anqing2(rac2)> select (2097152/6291456)*100,(256/768)*100 from dual; 

(2097152/6291456)*100 (256/768)*100

--------------------- -------------

          33.3333333    33.3333333 

從bytes 和 blocks 的比率是一樣,即索引是表的33%。 那么如果估算表以后的大小是1000M,那么對(duì)應(yīng)的索引大小就是1000M*33%=330M。 

把所有表和索引的大小加起來(lái),就是整個(gè)數(shù)據(jù)庫(kù)大小的估算值。

本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊舉報(bào)
打開(kāi)APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
計(jì)算表的使用量
Oracle中高水位線(HWM)
ORACLE表空間及其維護(hù)
oracle基礎(chǔ)之存儲(chǔ)結(jié)構(gòu) .
ORACLE DUAL表詳解 (轉(zhuǎn))
Oracle 中的 DUAL 表詳解
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長(zhǎng)圖 關(guān)注 下載文章
綁定賬號(hào)成功
后續(xù)可登錄賬號(hào)暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服