如何增加查询的默认提取大小 (Oracle DB)

How to increase default fetchsize for queries (Oracle DB)

如何设置 Oracle 数据库的提取大小?例如,当启动 SQL*Plus 时,我可以 set arraysize 250 并显着提高我的查询性能。我怎样才能用 ORMLite 达到同样的效果?

我发现以编程方式执行此操作的唯一方法是 oracle.jbdc.OracleConnection 中的方法 void setDefaultRowPrefetch(int var1) throws SQLException;,但这与 ORMLite 无关。那么,我如何访问底层连接并设置数据库特定参数,例如 Oracle 数据库的 arraysize

The only thing I found to do this programmatically is the method void setDefaultRowPrefetch(int var1) throws SQLException; in oracle.jbdc.OracleConnection, but this has nothing to do ORMLite. So, how can I access the underlying connection and set database specific parameters, such as arraysize for Oracle DB's?

不幸的是,现在这有点乱。

当运行JDBC时,你从JdbcConnectionSource得到的DatabaseConnection实际上是JdbcDatabaseConnection。此连接有一个 public getInternalConnection() 方法,该方法 returns 底层 java.sql.Connection(请参阅 the source)。那应该是(希望)一个 oracle.jbdc.OracleConnection.

我已经对源代码进行了更改,以正式公开该方法(重命名为 getUnderlyingConnection()),该方法将出现在 ORMLite 5.3 版中。参见 pull-request.