gpt4 book ai didi

java - Spring JPA 和 Streaming - 数据是否增量获取?

转载 作者:行者123 更新时间:2023-11-30 02:13:43 25 4
gpt4 key购买 nike

我正在看streaming query results Spring 文档的部分。此功能是否一次获取所有数据但将其作为流提供?或者它是否增量地获取数据以提高内存效率?

如果它不增量获取数据,是否有其他方法可以使用 spring data jpa 实现此目的?

最佳答案

这取决于您的平台。

Instead of simply wrapping the query results in a Stream data store specific methods are used to perform the streaming.

以 MySQL 为例,流式传输在 truly streaming fashion 中执行,但是当然,如​​果底层数据存储(或正在使用的驱动程序)不支持这种机制(尚),那么它不会产生任何影响。

MySQL 是 IIRC 目前唯一能够以这种方式提供流式传输而无需额外配置的驱动程序,而其他数据库/驱动程序则采用标准获取大小设置,如受人尊敬的 Vlad Mihalcea 所描述:https://vladmihalcea.com/whats-new-in-jpa-2-2-stream-the-result-of-a-query-execution/ ,注意性能与内存使用之间的权衡。其他数据库很可能需要 reactive database client以便执行真正的流式传输。

无论底层流方法是什么,影响最大的是处理流的方式。例如,使用 Spring 的 StreamingResponseBody 可以让您以最少的内存使用将大量数据直接从数据库流式传输到客户端。但这仍然是一个非常具体的用例,因此,除非您确定值得,否则暂时不要开始流式传输所有内容。

关于java - Spring JPA 和 Streaming - 数据是否增量获取?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49301019/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com