我有视图,它指向某个表,我想知道最近30天的记录的总记录大小(以GB为单位)。我有1个日期列,用于标识日期字段。请帮助我Teradata查询。
我不认为有确切的方法可以做到这一点,但是您可以估算一下:
1)使用dbc.tablesize
获得表的总大小并将其乘以(# rows in last 30 days / total rows)
SELECT SUM(CurrentPerm) AS total_size
FROM dbc.tablesize
WHERE databasename = '<db_name>'
AND tablename = '<table_name>'
2)估算30天范围内的平均行大小,然后乘以该范围内的行数
如果您没有定义任何可变长度数据(即VARCHAR
)或压缩,则选项#1应该更简单,并且可以为您提供良好的估算。否则,您将必须更有创造力才能获得良好的估计。