【发布时间】:2014-01-20 21:44:51
【问题描述】:
我看到很多 JDBC/MySQL 的“最佳实践”指南告诉我指定 setFetchSize()。
但是,我不知道何时指定,以及指定什么(语句、结果集)。
Statement.setFetchSize() or PreparedStatement.setFetchSize()
ResultSet.setFetchSize()
- 在这两个中,我应该指定什么?
- 来自javadoc 和oracle documentation,这就是我对“何时”感到困惑的地方
Java 文档
默认值由创建结果集的 Statement 对象设置。提取大小可以随时更改。
Oracle 文档
生成结果集后对语句对象的提取大小所做的更改不会影响该结果集。
如果我错了,请纠正我。这是否意味着setFetchSize只有在查询执行之前才有效?(因此,ResultSet上的setFetchSize是没有用的?但恰好“获取大小可能随时更改”?)
【问题讨论】:
-
第二个链接是针对 Oracle JDBC 驱动程序(即针对 Oracle database),而不是“通用”JDBC 文档 - 特别是 not mysql。您应该查看 MySQL JDBC 手册以获取有关该实现的详细信息。
-
@a_horse_with_no_name 感谢您指出这一点。很明显,我应该先检查一下……
标签: java mysql sql oracle jdbc