无需修改代码设置Oracle JDBC驱动默认Fetch Size的方法
解决方案
有三种无需修改业务代码即可设置Oracle JDBC驱动默认Fetch Size的方法,对应你允许修改的配置项:
1. 通过JVM系统属性设置
Oracle JDBC驱动支持通过系统属性oracle.jdbc.defaultRowPrefetch全局配置默认预取(Fetch)大小,这是等效于其他数据库defaultRowFetchSize的参数:
- 在JVM启动时添加参数:
替换-Doracle.jdbc.defaultRowPrefetch=100100为你需要的预取行数。
2. 通过JDBC URL参数配置
直接在Oracle JDBC URL中追加defaultRowPrefetch参数,示例:
jdbc:oracle:thin:@//your-db-host:1521/your-service-name?defaultRowPrefetch=100
3. 通过Oracle DataSource属性配置
如果你使用Oracle官方的OracleDataSource实现(比如在Spring、应用服务器数据源配置中),可以直接配置数据源的defaultRowPrefetch属性值为目标行数,无需修改业务代码中的SQL调用逻辑。
补充说明
以上三种方式设置后,所有未显式调用setFetchSize()的Statement、PreparedStatement都会自动使用这个默认预取大小,完全满足你无需修改业务代码的需求。
内容的提问来源于stack exchange,提问作者SATO Yusuke
相关产品推荐
相关产品推荐

