首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >为什么Information_schema查询在雪花中如此缓慢,有什么方法可以加快它们的速度?

为什么Information_schema查询在雪花中如此缓慢,有什么方法可以加快它们的速度?
EN

Stack Overflow用户
提问于 2020-11-27 18:05:30
回答 3查看 770关注 0票数 1

例如,当前对INFORMATION_SCHEMA视图的简单查询

代码语言:javascript
运行
复制
SELECT TABLE_NAME from INFORMATION_SCHEMA.TABLES where TABLE_SCHEMA='HumanResources' and TABLE_NAME like '%EMP%'

花相当长的时间。

我听说过这样的解决方法,比如:show tables,然后使用:select * from table(result_scan(last_query_id()))

但我不想改变我的脚本。有没有办法加快这些查询的速度,为什么它们速度这么慢?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2020-11-30 17:15:49

大多数给我带来问题的查询都是这样的:

代码语言:javascript
运行
复制
 select * from information_schema.tables t inner 
join information_schema.columns c on c.table_schema = t.table_schema and c.table_name = t.table_name 
where t.table_type = 'BASE TABLE' and
 lower(column_name) ='xxxx' 
 order by t.table_schema, t.table_name;

代码语言:javascript
运行
复制
select * from information_schema.tables where upper(table_name) = 'some_table'

我的信息模式有9045行。

我的测试表明,使用上(Table_name)或下(Table_name)为我的查询增加了大量时间。

例如:

代码语言:javascript
运行
复制
select * from information_schema.tables where upper(table_name) = 'some_table'

需要6.97秒

代码语言:javascript
运行
复制
select * from information_schema.tables where upper(table_name) = 'some_table'

取1.84

我们还注意到,information_schema值总是大写的,所以我们将这些值中的大部分更改为大写。

票数 0
EN

Stack Overflow用户

发布于 2020-12-08 20:36:26

以上大多数与仓库大小有关的评论都是不正确的。根据这个雪花文章和我的报价;

所有涉及“显示命令”和“INFORMATION_SCHEMA”视图的查询都称为元数据操作。它们访问雪花的专门元数据服务,元数据操作不依赖于仓库或客户数据存储。

另一个雪花文章也解释了这个概念和如何提高性能。

票数 0
EN

Stack Overflow用户

发布于 2021-09-01 08:12:41

可能是将函数应用于列本身。这迫使查询引擎扫描整个表,而不是一个子集。如果可以,可以将函数应用于where子句的静态/值部分,而不是列本身。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65041926

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档