3

我想报告特定 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_used和的计算特别好奇pct_used。考虑这样的倾斜表是否“正确”?

4

1 回答 1

2

绝对要考虑到倾斜。您的专栏free_space为您提供了完全可用的空间,并考虑了所有现有表的倾斜。还free_space假设所有未来的表都是完美分布的。无歪斜。

于 2013-08-16T18:53:09.167 回答