【发布时间】:2015-06-29 17:32:46
【问题描述】:
我在 Teradata 中有一张表。我想知道它的大小。对于 Teradata 中的数据库,同样的事情可能会很有趣。
我该怎么做?
【问题讨论】:
标签: teradata
我在 Teradata 中有一张表。我想知道它的大小。对于 Teradata 中的数据库,同样的事情可能会很有趣。
我该怎么做?
【问题讨论】:
标签: teradata
要检查您的桌子大小,您可以从dbc.tablesize 进行检查。检查以下查询。
SELECT
A.DatabaseName
,A.tablename
,CreateTimeStamp
,CAST(SUM(CURRENTPERM) AS DECIMAL(18,2))/(1024*1024*1024) (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) AS DECIMAL(18,5))/(1024*1024*1024) (TITLE 'Used(GB)')
,CAST(SUM(MaxPerm) AS DECIMAL(18,5))/(1024*1024*1024) (TITLE 'Allocated(GB)')
,CAST(SUM(MaxPerm)-SUM(CurrentPerm) AS DECIMAL(18,5))/(1024*1024*1024) (TITLE 'Free(GB)')
FROM DBC.DiskSpace
WHERE DatabaseName = 'databasename'
GROUP BY 1
ORDER BY 2 Desc;
这将为您提供数据库中的已用空间、已分配空间和可用空间。
【讨论】:
代码将整数除以十进制,然后被截断。将演员表更改为:
CAST(SUM(CurrentPerm) AS DECIMAL(18,5)) /(1024*1024*1024) (TITLE 'Used(GB)')
说出你的意思
【讨论】: