sql - oracle sql Developer花时间获取所有记录
问题描述
我的查询在不到一秒的时间内为 Oracle SQL Developer 中的前 50 条记录提供输出。当我在查询结果中选择全部(Ctrl + A)时,需要 120 秒才能获取所有记录(165k)。如果有任何优化的余地,你能建议我吗?
您能否解释一下查询是如何处理前 50 条结果记录然后处理其余记录的?SQL 引擎是从数据块还是从结果缓存中获取其余记录?
非常感谢,阿西特
解决方案
这里有很多因素可能是一个因素,最明显的是记录是什么。165,000 条记录并不是一个可笑的过大问题,但每条记录有多大?请记住,这些记录必须从 DB 中读取,通过网络,然后由 SQL Developer 自己处理。
当我遇到这个问题时,您通常可以看到 sql 开发者进程在它使用的任何内部进程中尝试摄取所有这些记录时,CPU 和 RAM 会达到峰值。
推荐阅读
- image - Rails Assets,可以在生产模式下预编译和非编译吗?
- python-3.x - 模块'pygame.locals'没有'QUIT' Python 3.8.2 Pygame
- javascript - 我的命令提示符在单击按钮之前打开
- excel - ActiveSheet.Paste 在运行时给出运行时错误“1004”,但在调试时没有问题
- azure - 无法从 SSH 访问辅助公共 IP
- sql - 我在 Postgresql 中制作了一个公共汽车预订系统,并被困在如何在预订时检查座位是否可用
- screen-scraping - 如何使用详细信息和所有者评论来抓取 google 评论并存储在 csv 中?
- c# - 确定以管理员身份启动的进程是否已在 C# 中运行
- react-native - React Navigation onclick 到自定义组件
- regex - 使用 CryptoDeterministicConfig 和自定义信息类型对表格数据进行 Google Cloud DLP 标记化