Database 雪花,选择表计数错误:信息架构查询返回的数据太多

Database 雪花,选择表计数错误:信息架构查询返回的数据太多,database,snowflake-cloud-data-platform,Database,Snowflake Cloud Data Platform,我使用数据库雪花。模式有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' 并获取以下错误: “信息架构查询返回的数据太多。请使用更多选择性谓词

我使用数据库雪花。模式有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' 
并获取以下错误: “信息架构查询返回的数据太多。请使用更多选择性谓词重复查询。”

你知道如何解决这种错误吗

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'

使用此查询代码并重试一次。

您可以对帐户使用模式运行相同的查询,它应该可以工作

从snowflake.account\u usage.TABLES T中选择COUNT(T.table\u name)作为tnum,其中
T.table_schema='MYSCHEMA'
和T.TABLE_CATALOG='MYDB'

和T.table_type='BASE table'
SELECT COUNT(*)as tnum FROM information_schema.TABLES T其中T.table_schema='MYSCHEMA'和T.table_CATALOG='MYDB'和T.table_type='BASE table'尝试使用此查询语句。您的查询试图从信息_schema检索太多的信息。Snowflake出于性能原因限制此请求:。利用SNOWFLAKE.ACCOUNT\u USAGE.TABLES是正确的答案。遗憾的是,SNOWFLAKE.ACCOUNT\u USAGE不存在SNOWFLAKE.ACCOUNT\u USAGE在所有SNOWFLAKE部署中都可用。您只需要请求从您的ACCOUNTADMIN访问您正在使用的角色即可。谢谢,但我不能使用任何角色ACCOUNTADMIN,它应该与所有可用角色一起使用,角色可以在连接属性中取消设置在这种情况下,您必须将检索到的数据限制为直接从元数据查询的信息模式查询,并且不允许这样做。
   // 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