對oracle資料表空間的計算
定義好資料表後,對一個資料記錄佔用表空間的估算方式:
定義資料表t_test:
CREATE TABLE t_test(
id number(8) not null,
sip number(10),
stime timestamp,
filename varchar2(2048 char),
dire char(1),
primary key (id)
)
id number(8) not null,
sip number(10),
stime timestamp,
filename varchar2(2048 char),
dire char(1),
primary key (id)
)
1、先說下oracle中各欄位型別的定義。number(size),為整型資料定義,其中的size最大可為38位,這個size是定義的最長長度,是佔用的位元組數。但在資料庫中的實際佔用位元組數是和具體數值有關的。查詢方式:select t.id, dump(t.id) from t_test t;,用dump函式,對欄位實際佔用的位元組數進行查詢。結果為2249 Typ=2 Len=3: 194,23,50,type=2為oracle對number型別的常量定義,len=3表示實際佔用的位元組數。所以說number型別的實際儲存空間不是定長的。同理,varchar2(size)也不是定長的,size表示可儲存的最大位元組數。char是定長的。所說,number和varchar2是可變儲存的,但定義資料表的時候要視實際情況進行決定,不要太長。
2、表中欄位涉及到索引時,所佔用空間的計算。
b-tree索引每行都有一個rowid,一個rowid對應為60位,再和位元組進行換算。對於bitmap索引,目前還沒有找到好的計算公式,以後補充。對已經執行一段時間的資料庫,可以對錶所佔空間,索引所佔空間進行查詢,計算一個比例值。具體是用到dba_extents或dba_segments,segment_name segment_type欄位。
select (sum(bytes)/1024/1024) as M from dba_segments where segment_name = 'T_TEST';
select (sum(bytes)/1024/1024) as M from dba_segments where segment_name = upper
('index_sip_t_test');
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/9521459/viewspace-687289/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- oracle清除資料庫表空間Oracle資料庫
- 檢視Oracle資料庫表空間大小,是否需要增加表空間的資料檔案Oracle資料庫
- oracle建立臨時表空間和資料表空間以及刪除Oracle
- Oracle 表空間與資料檔案Oracle
- oracle 資料檔案表空間管理Oracle
- oracle 回收表空間的資料檔案大小Oracle
- Oracle資料庫表空間的資料檔案大小上限。Oracle資料庫
- 如何檢視Oracle資料庫表空間大小(空閒、已使用),是否要增加表空間的資料檔案...Oracle資料庫
- oracle中用sql計算一個表佔用的空間的大小OracleSQL
- oracle 表空間 資料檔案 筆記Oracle筆記
- Oracle 表空間資料檔案遷移Oracle
- Oracle表空間設計理念Oracle
- 將ORACLE資料庫審計相關的表移動到其他表空間Oracle資料庫
- oracle誤刪除表空間的資料檔案Oracle
- 怎樣移動Oracle資料庫的表空間Oracle資料庫
- oracle的空間資料庫:Oracle資料庫
- oracle 普通表空間資料檔案壞塊Oracle
- 誤刪oracle資料庫表空間檔案Oracle資料庫
- Oracle資料庫設定預設表空間Oracle資料庫
- Oracle表空間Oracle
- oracle 表空間Oracle
- 表空間的資料字典管理
- PostgreSQL:表空間-->資料庫-->表SQL資料庫
- oracle資料泵方式更換資料預設表空間.Oracle
- Oracle - 資料庫的例項、表空間、使用者、表之間關係Oracle資料庫
- oracle表空間的整理Oracle
- Oracle 表空間的管理Oracle
- Oracle 表空間 的操作Oracle
- ORACLE的SYSAUX 表空間OracleUX
- ORACLE的SYSTEM 表空間Oracle
- Oracle的表空間管理Oracle
- Oracle臨時表空間檢視、新增臨時表空間資料檔案、修改預設臨時表空間 方法!Oracle
- Oracle 查詢各個 “表空間/資料檔案” 的空間使用比情況Oracle
- 計算一個表佔用的空間的大小
- 表空間中有資料也可以壓縮表空間(資料檔案)大小
- Oracle資料庫使用空間統計案例Oracle資料庫
- Oracle的邏輯結構(表空間、段、區間、塊)——Oracle資料塊(二)Oracle
- 空間資料庫三維空間兩點距離計算錯誤資料庫