我在Teradata有一张桌子。我想知道它的大小。对Teradata中的数据库来说,同样的事情可能会很有趣。
我该怎么办?
答案 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)')
表达你的意思