gpt4 book ai didi

oracle - r2dbc-oracle 背压实现与 fetchsize

转载 作者:行者123 更新时间:2023-12-04 07:53:49 25 4
gpt4 key购买 nike

r2dbc-oracle 似乎没有适当的背压实现。如果我选择更大的行数(比如 10k),那么它比常规的 jdbc/JPA 查询慢得多。如果我手动将 fetchsize 设置为 1000,那么查询速度大约快 8 倍(!)。

所以

  • 您能否确认背压已/未实现?如果没有:是否有计划?
  • 有没有更简单的方法来设置 fetchsize(甚至可能是全局...)然后使用手动 databaseclient.sql()-queries?

最佳答案

感谢分享这些发现。

我可以确认来自订阅者的请求信号不会影响 Oracle R2DBC 的行发布者的提取大小。目前,唯一支持的配置获取大小的方法是调用 io.r2dbc.spi.Statement.fetchSize(int)。

此行为可归因于 Oracle JDBC 对 oracle.jdbc.OracleResultSet.publisherOracle(Function) 的实现。 Oracle R2DBC 驱动程序使用 Oracle JDBC 的 Publisher 从数据库中获取行。

我还可以确认 Oracle JDBC 团队已经意识到这个问题,并且正在努力修复。当订阅者的需求超过使用 Statement.fetchSize(int) 配置的值时,此修复将使发布者使用更大的提取大小。

来源:我为 Oracle R2DBC 和 Oracle JDBC 的行发布者编写了代码。

关于oracle - r2dbc-oracle 背压实现与 fetchsize,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66810064/

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