【问题标题】:How to get the table size in Teradata?如何获取 Teradata 中的表大小?
【发布时间】:2015-06-29 17:32:46
【问题描述】:

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

我该怎么做?

【问题讨论】:

    标签: teradata


    【解决方案1】:

    要检查您的桌子大小,您可以从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; 
    

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

    【讨论】:

      【解决方案2】:

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

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

      说出你的意思

      【讨论】:

        猜你喜欢
        • 2021-08-31
        • 2017-01-20
        • 2017-10-03
        • 2015-11-14
        • 2016-04-19
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多