我使用数据库Snowflake。架构具有更多15000表。我尝试通过以下查询获取有关当前模式中表计数的信息:
SELECT COUNT(T.table_name) as tnum FROM information_schema.TABLES T WHERE
T.table_schema = 'MYSCHEMA'
AND T.TABLE_CATALOG = 'MYDB'
AND T.table_type = 'BASE TABLE'
并得到以下错误: “信息架构查询返回的数据过多。请使用更多选择性谓词重复查询。”
您知道如何解决这种错误吗?
答案 0 :(得分:1)
您可以在“帐户使用情况”架构上运行相同的查询,并且该查询应该有效
SELECT COUNT(T.table_name) as tnum FROM snowflake.account_usage.TABLES T WHERE
T.table_schema = 'MYSCHEMA'
AND T.TABLE_CATALOG = 'MYDB'
AND T.table_type = 'BASE TABLE'
答案 1 :(得分:0)
SELECT COUNT(*) as tnum FROM information_schema.TABLES T WHERE
T.table_schema = 'MYSCHEMA' AND T.TABLE_CATALOG = 'MYDB' AND
T.table_type = 'BASE TABLE'
使用此查询代码,然后尝试一次。
答案 2 :(得分:0)
// count of all the tables in the given database and schema. (Excludes dropped tables)
SELECT count(T.table_name)
FROM snowflake.account_usage.tables T
WHERE table_catalog = 'DB_NAME'
AND table_schema = 'SCHEMA_NAME'
AND table_type = 'BASE TABLE'
AND deleted IS NULL // This filters the dropped table