首页 > 解决方案 > oracle sql Developer花时间获取所有记录

问题描述

我的查询在不到一秒的时间内为 Oracle SQL Developer 中的前 50 条记录提供输出。当我在查询结果中选择全部(Ctrl + A)时,需要 120 秒才能获取所有记录(165k)。如果有任何优化的余地,你能建议我吗?

您能否解释一下查询是如何处理前 50 条结果记录然后处理其余记录的?SQL 引擎是从数据块还是从结果缓存中获取其余记录?

非常感谢,阿西特

标签: sqloracleoptimizationoracle-sqldeveloperoracle12c

解决方案


这里有很多因素可能是一个因素,最明显的是记录是什么。165,000 条记录并不是一个可笑的过大问题,但每条记录有多大?请记住,这些记录必须从 DB 中读取,通过网络,然后由 SQL Developer 自己处理。

当我遇到这个问题时,您通常可以看到 sql 开发者进程在它使用的任何内部进程中尝试摄取所有这些记录时,CPU 和 RAM 会达到峰值。


推荐阅读