查询以获取Snowflake中数据库中所有表的行数

Akh*_*ira 0 snowflake-cloud-data-platform

什么是查询来获取Snowflake数据库中所有表的行数的查询。

小智 7

请使用以下查询:

SELECT t.table_schema || '.' ||  t.table_name as "table_name",t.row_count
FROM information_schema.tables t
WHERE t.table_type = 'BASE TABLE'
ORDER BY t.row_count
Run Code Online (Sandbox Code Playgroud)


Ric*_*ane 7

我将采用另一种方法,并在ACCOUNT_USAGE共享中使用TABLES视图。可能会有一些延迟,但是对于较大的Snowflake帐户,我会一直利用ACCOUNT_USAGE份额进行此类操作。

下面为您提供记录计数,表名的“列表”以及给定数据库和模式的表数,您可以调整查询以满足您的需求。

SELECT SUM(row_count) total_row_count, listagg(table_name, ' ') tab_list, count(*) num_tabs
FROM   snowflake.account_usage.tables
WHERE  table_catalog = 'DB NAME HERE'
AND    table_schema = 'SCHEMA NAME HERE'
AND    table_type = 'BASE TABLE'
AND    deleted IS NULL;
Run Code Online (Sandbox Code Playgroud)

https://docs.snowflake.net/manuals/sql-reference/account-usage/tables.html

我希望这会有所帮助... Rich Murnane

  • 正如 Rich 提到的,这有一些延迟,但最大的好处是,如果您愿意,您可以同时查询所有数据库和模式,而 information_schema 仅限于单个数据库(并且仅包括您有权访问的表) 。 (2认同)