Snowflake cloud data platform 查询以获取Snowflake中数据库中所有表的行计数

Snowflake cloud data platform 查询以获取Snowflake中数据库中所有表的行计数,snowflake-cloud-data-platform,Snowflake Cloud Data Platform,获取雪花数据库中所有表的行数的查询是什么。请使用以下查询: 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 我会采取不同的方法,使用ACCOUNT_USAGE share中的TABLES视图。可能会有一些延迟,但对于更大的

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

请使用以下查询:

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

我会采取不同的方法,使用ACCOUNT_USAGE share中的TABLES视图。可能会有一些延迟,但对于更大的雪花帐户,我会一直利用帐户使用率共享来进行类似的操作

下面给出了记录计数、表名的“列表”以及给定数据库和模式的表数,您可以根据需要调整查询

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;


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

正如Rich提到的,这会有一些延迟,但最大的好处是,如果您愿意,您可以同时查询所有数据库和模式,而模式信息仅限于单个数据库(并且只包括您有权访问的表)。
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;