Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
使用 PL/SQL,将大量数据发送到客户端代码有哪些好的选择?
详细地说,服务器端 PL/SQL 对请求进行操作并生成包含大量数据的响应,这些数据必须发送到客户端代码。发送大量数据是否有“好的选择”?这里需要考虑哪些类型的 Oracle 优缺点?
当您想要返回大量数据时,您遇到的两个问题是:
如果可能,您应该尝试流式传输数据,而不是一次全部返回。您将占用相同的带宽,但峰值使用量较少,并且可以防止内存问题(至少在服务器上,这取决于您的客户端实现如何使用那里的内存)。
Oracle 通过流水线函数提供流式支持。您可以在此处和此处找到示例。
没有好的选择,总是尽量向客户端发送最少量的数据。您的数据库和网络将感谢您!
如果您可以随时间发送小块,那将比一次倾倒所有内容更好。