TimesTen記憶體資料庫評估和計算表大小及碎片
在TimesTen記憶體資料庫的規劃階段,我們需要評估記憶體資料庫表佔用記憶體空間的大小,以合理的規劃記憶體資料庫的大小和評估需要遷移到記憶體資料庫的表及欄位;在實際運維過程中,系統上線一定的時間以後,我們需要計算表的大小,甚至需要評估記憶體資料庫表是否存在碎片等。
TimesTen中分別使用ttsize和ttcomputetabsizes評估和計算表的大小;兩個built的作用不同,ttsize用於儲存規劃時計算需要分配的記憶體空間大小;ttcomputetabsizes用於在專案運維中,詳細計算當前各個表所佔用空間大小。
TimesTen中運維和支援的時候,客戶和開發商經常會問到關於表大小的估算方法,以及在系統執行一段時間後,為什麼進行了表資料的清理,但是空間無法釋放,在11.2.2.x之前的版本,只有使用dsmap的方式才能計算每個表的大小及存在多少空行,從11.2.2版本開始,TimesTen提供了ttComputeTabSizes可以用於計算表的大小及目前有多少空行。
1、ttsize是用於估算表或檢視的大小,包括索引的大小的一個儲存過程。也可以指定要估算的行數和估算的VARBINARY或VARCHAR型別的比例。
使用方法:
ttSize('tblName', [nRows],[frac]);
tblName為要估算的表名;nRows引數預設為當前表的資料量,也可以指定要估算的資料量。frac引數是指定估算的表中每個VARBINARY和VARCHAR型別的估算定義長度的比例(比如varchar(20)的0.5就是假設每行的長度均為10),預設值為0.5,該引數的取值範圍是0~1之間的小數。
e.g:
Command> select count(*) from TY.TANGYUN;
< 200 >
1 row found.
Command> call ttsize('TY.TANGYUN');
< 1273989.00000000 >
Command> call ttsize('TY.TANGYUN',200);
< 1273989.00000000 >
1 row found.
Command> call ttsize('TY.TANGYUN',500);
< 2522277.00000000 >
1 row found.
Command> call ttsize('TY.TANGYUN',200,1);
< 4731589.00000000 >
1 row found.
Command> call ttsize('TY.TANGYUN',200,0.1);
< 1633989.00000000 >
1 row found.
這裡的單位是Byte,計算的大小中已經包括索引的大小。當然,也可以使用ttsize工具:
$ ttsize -tbl ty.tangyun tytt
Rows = 200
Total in-line row bytes = 1273989
Out-of-line columns:
Column MVIDS total 0 avg size 0
Column CGFKIDS total 0 avg size 0
Column VALTBLIDS total 0 avg size 0
Total out-of-line column bytes = 0
Total = 1273989
2、ttcomputetabsizes是用於計算當前表的大小,該儲存過程是11.2.2的新特性。
使用方法:
ttComputeTabSizes (['tblName'], [includeOutOfLine]);
這裡兩個引數都是可選的,如果不指定表名,那麼就計算所有有許可權訪問的表,包括有許可權訪問的系統表、CacheGroup表、物化檢視表,計算結果儲存更新在DBA_TAB_SIZES,USER_TAB_SIZES或ALL_TAB_SIZES檢視中;includeOutOfLine參數列示是否計算out-of-line的大小,預設值為1表示全部計算,0表示不計算out-of-line的大小。
Command> call ttcomputetabsizes('TY.TANGYUN');
Command> select * from sys.dba_tab_sizes;
OWNER: TY
TABLE_NAME: TANGYUN
INLINE_ALLOC_BYTES: 2496576
NUM_USED_ROWS: 200
NUM_FREE_ROWS: 312
AVG_ROW_LEN: 4880
OUT_OF_LINE_BYTES: 0
METADATA_BYTES: 2048
TOTAL_BYTES: 2498624
LAST_UPDATED: 2014-05-23 03:24:16.000000
1 row found.
Command> call ttcomputetabsizes('TY.TANGYUN',0);
Command> select * from sys.dba_tab_sizes;
OWNER: TY
TABLE_NAME: TANGYUN
INLINE_ALLOC_BYTES: 2496576
NUM_USED_ROWS: 200
NUM_FREE_ROWS: 312
AVG_ROW_LEN:
OUT_OF_LINE_BYTES:
METADATA_BYTES: 2048
TOTAL_BYTES:
LAST_UPDATED: 2014-05-23 03:45:33.000000
1 row found.
---------------End-----------------
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/24930246/viewspace-1414308/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 【新炬網路名師大講堂】TimesTen記憶體資料庫評估和計算表大小及碎片記憶體資料庫
- 【記憶體資料庫】TimesTen記憶體資料庫
- 記憶體資料庫TimesTen介紹記憶體資料庫
- Oralce記憶體資料庫TimesTen簡介記憶體資料庫
- 採用java連結timesten記憶體資料庫Java記憶體資料庫
- TimesTen記憶體庫monitor表引數說明記憶體
- [轉帖]關於記憶體管理:計算頁表大小記憶體
- TimesTen記憶體碎片(高水位)回收步驟詳解記憶體
- 記憶體效能評估(四)記憶體
- 手機記憶體卡大小的計算記憶體
- <<SAP記憶體計算——HANA>> 書評記憶體
- 資料庫效能需求分析及評估模型資料庫模型
- 合理配置TimesTen記憶體資料庫Hash索引的PAGES引數記憶體資料庫索引
- Oracle與TimesTen記憶體資料庫Cache Group同步效率與TimesTen主備資料同步機制研究Oracle記憶體資料庫
- 資料庫容量和記憶體測算的一些想法資料庫記憶體
- 記憶體資料庫記憶體資料庫
- Oracle資料庫表碎片整理Oracle資料庫
- [轉帖]達夢資料庫-統計資料表資料量及空間表大小資料庫
- 主要測試記憶體和資料庫記憶體資料庫
- struct結構體大小的計算(記憶體對齊)Struct結構體記憶體
- Oracle資料庫記憶體監控及意義Oracle資料庫記憶體
- Mongodb記憶體資料庫MongoDB記憶體資料庫
- Oracle 資料庫整理表碎片Oracle資料庫
- oracle資料庫記憶體分配(sga和pga)Oracle資料庫記憶體
- 記憶體碎片與緩解記憶體
- 非易失性記憶體技術及資料庫記憶體資料庫
- 如何獲取 PostgreSQL 資料庫中的表大小、資料庫大小、索引大小、模式大小、表空間大小、列大小SQL資料庫索引模式
- 將altibase記憶體庫的表匯出到oracle資料庫記憶體Oracle資料庫
- 記憶體的計算記憶體
- 一文看懂資料分析必備計算功能—記憶體計算記憶體
- 記憶體資料庫如何發揮記憶體優勢?記憶體資料庫
- 倉庫精益的指標:庫存週轉率的計算方式及評估指標
- TimesTen臨時(記憶體)空間使用和調整臨時(記憶體)空間記憶體
- 理解TimesTen記憶體資料庫DBI檔案的作用以及相關故障處理記憶體資料庫
- TimesTen記憶體庫sys.odbc.ini引數說明記憶體
- 分散式資料庫的健康評估分散式資料庫
- Redis記憶體碎片深入分析Redis記憶體
- expdp在匯出時對資料大小進行評估