使用 PL/SQL,向客户端代码发送大量数据有哪些好的选择?
使用 PL/SQL,向客户端代码发送大量数据有哪些好的选择?
详细来说,服务器端 PL/SQL 对请求进行操作并生成包含大量数据的响应,这些数据必须发送到客户端代码。 是否有“好的选择”来发送大量数据? 这里需要重点考虑哪些类型的 Oracle 优缺点?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
当您想要返回大量数据时,您遇到的两个问题是:
如果可能,您应该尝试流式传输数据,而不是一次返回全部数据。 您将占用相同的带宽,但峰值使用量较少,并且可以防止内存问题(至少在服务器上,这取决于您的客户端实现如何使用内存)。
Oracle 通过管道函数提供流支持。 您可以在此处和此处。
The two problems you have when you want to return large amounts of data are:
If in any way possible, you should attempt to stream the data instead of returning it all at once. You will occupy the same bandwidth but there is less peak usage and you prevent memory issues (at least at the server, it depends on your client implementation how memory is used over there).
Oracle provides streaming support through pipelined functions. You can find examples here and here.
没有好的选择,总是尝试向客户端发送最小量的数据。 您的数据库和网络将感谢您!
如果您可以随着时间的推移发送小块,那会比一次转储所有内容更好。
there are no good options, always try to send the smallest amount of data to the client. your database and network will thanks you!
if you can send small chunks spread over time, that would be better that dumping everything at once.