impala第一次查询慢 第二次查询快这是什么原因? 本问题来自阿里云开发者社区的【11大垂直技术领域开发者社群】。 点击这里欢迎加入感兴趣的技术领域群。
impala依赖操作系统缓存,第一次查询后数据会在操作系统内存中缓存,下一次查询的IO扫描时间就会大幅缩短。
One way to simulate a heavy workload on a lightly loaded system is to flush the OS buffer cache (on each DataNode) between iterations of queries against the same tables or partitions:
$ sync
$ echo 1 > /proc/sys/vm/drop_caches
第一次编译花费时间长,第二次直接从内存中取,花不了多少时间.第一次查询时数据是从硬盘调入缓冲区,此后这些数据会被缓存在缓冲区,第二次调用时就直接从缓冲区取数据了,所以看上去第一次要比第二次慢. 你每次执行前加这样一句
DBCC DROPCLEANBUFFERS GO
清空缓冲区,然后再看查询速度
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
实时计算Flink版是阿里云提供的全托管Serverless Flink云服务,基于 Apache Flink 构建的企业级、高性能实时大数据处理系统。提供全托管版 Flink 集群和引擎,提高作业开发运维效率。