2013-08-16 52 views
3

我想報告特定Teradata數據庫的各種統計信息,特別是「可用空間」。計算中是否應包含表歪斜?例如,有人提出以下查詢:如何計算Teradata數據庫中的可用空間

SELECT databasename 
    , SUM(maxperm)/1024/1024/1024 (DECIMAL(10,2))  AS space_allocated 
    , SUM(currentperm)/1024/1024/1024 (DECIMAL(10,2)) AS space_Used 
    , (MAX(currentperm)*COUNT(*)-SUM(currentperm)) 
     /1024/1024/1024 (DECIMAL(10, 2)) AS skew_Size 

    , (space_used + skew_size) AS total_space_used 

    , (MIN(maxperm-currentperm)/1024/1024/1024) * COUNT(*) (DECIMAL(10,2)) 
     AS free_Space 

    , CAST(total_space_used AS DECIMAL(10,2)) * 100 
    /CAST(space_allocated AS DECIMAL(10,2)) AS pct_used 

FROM DBC.diskspace 
WHERE databasename = 'MyDatabase' 
    AND maxperm > 0 
GROUP BY 1; 

我感到特別好奇的total_space_usedpct_used計算。說明這樣的傾斜表是否「適當」?

回答

2

絕對保持歪斜。您的專欄free_space爲您提供了所有考慮的現有表的歪斜可用空間。 另外,free_space假設所有未來的表格都是完美分佈的。沒有歪斜。

相關問題