如何在Teradata中获取表格大小?

时间:2015-04-22 07:54:13

标签: teradata

我在Teradata有一张桌子。我想知道它的大小。对Teradata中的数据库来说,同样的事情可能会很有趣。

我该怎么办?

2 个答案:

答案 0 :(得分:8)

要查看表格尺寸,您可以从dbc.tablesize查看。检查以下查询。

SELECT A.DatabaseName,A.tablename,CreateTimeStamp, CAST(SUM(CurrentPerm)/(1024*1024*1024) AS DECIMAL(18,5)) (TITLE 'Used(GB)')
FROM dbc.tablesize A,DBC.TABLES B
WHERE A.TABLENAME=B.TABLENAME
AND A.DatabaseName = B.DatabaseName AND A.DatabaseName = 'your database name/schemaname/appname' and A.tablename = 'your tablename'
GROUP BY 1,2,3 ORDER BY 3 DESC;  

要检查数据库大小,您可以使用dbc.diskspace,查询将如下所示:

SELECT 
DatabaseName
,CAST(SUM(CurrentPerm)/(1024*1024*1024) AS DECIMAL(18,5))(TITLE 'Used(GB)')
,CAST(SUM(MaxPerm)/(1024*1024*1024) AS DECIMAL(18,5))(TITLE 'Allocated(GB)') 
,CAST((SUM(MaxPerm)-SUM(CurrentPerm))/(1024*1024*1024) AS DECIMAL(18,5)) (TITLE 'Free(GB)')
FROM DBC.DiskSpace
WHERE DatabaseName = ‘databasemane’
GROUP BY 1
ORDER BY 2 Desc ; 

这将为您提供数据库中可用空间,已分配空间和可用空间。

答案 1 :(得分:0)

代码除以整数,然后转换为十进制截断。将演员表更改为:

CAST(SUM(CurrentPerm) AS DECIMAL(18,5)) /(1024*1024*1024) (TITLE 'Used(GB)')

表达你的意思