[英]How to get the total byte size of schemas in Snowflake data warehouse
我喜歡SHOW TABLES
查詢如何返回列出的每個表的行和字節,但不幸的是, SHOW SCHEMAS
查詢並非如此。
獲取模式列表總字節大小的最佳方法是什么?
我通過查詢information_schema.tables
設法做到了這一點:
SELECT
table_schema AS schema,
SUM(bytes) AS bytes
FROM information_schema.tables
GROUP BY schema;
請注意,這僅適用於當前數據庫,因為每個數據庫都有自己的information_schema
。 因此,這無法獲得數據庫列表的大小。 但是,可以單獨獲取每個數據庫的總大小:
SELECT SUM(bytes) AS bytes
FROM [database_name].information_schema.tables;
對此的一個很好的補充是使用 UDF 很好地格式化字節大小,就像這里的nicebytes
示例一樣,導致查詢中的nicebytes(SUM(bytes)) AS bytes
。
如果您具有 accountadmin 訪問權限或已被授予對帳戶使用情況視圖的訪問權限,您可以嘗試使用 TABLE_STORAGE_METRICS。
select
TABLE_CATALOG,
TABLE_SCHEMA,
nicebytes(sum(ACTIVE_BYTES)) ACTIVE_STORAGE,
nicebytes(sum(TIME_TRAVEL_BYTES)) TIME_TRAVEL_STORAGE,
nicebytes(sum(FAILSAFE_BYTES)) FAILSAFE_STORAGE
from SNOWFLAKE.ACCOUNT_USAGE.TABLE_STORAGE_METRICS
where TABLE_DROPPED IS NULL
and SCHEMA_DROPPED IS NULL
and CATALOG_DROPPED IS NULL
group by 1,2
order by 1,2,3
這也利用了nicebytes UDF
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.