如何增加查询的默认提取大小 (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.
如何设置 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; inoracle.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.