GBase 8c V5 开发者手册 南大通用数据技术股份有限公司 244 executeUpdate(String sql, String[] columnNames) int Yes getConnection() Connection Yes getFetchDirection() int Yes getFetchSize() int Yes getGeneratedKeys() ResultSet Yes getMaxFieldSize() int Yes getMaxRows() int Yes getMoreResults() boolean Yes getMoreResults(int current) boolean Yes getResultSet() ResultSet Yes getResultSetConcurrenc y() int Yes getResultSetHoldability( ) int Yes getResultSetType() int Yes getQueryTimeout() int Yes getUpdateCount() int Yes getWarnings() SQLWarning Yes isClosed() Boolean Yes isCloseOnCompletion() Boolean Yes isPoolable() Boolean Yes setCursorName(String name) void Yes setEscapeProcessing (boolean enable) void Yes setFetchDirection(int direction) void Yes
GBase 8c V5 开发者手册 南大通用数据技术股份有限公司 245 setMaxFieldSize(int max) void Yes setMaxRows(int max) void Yes setPoolable(boolean poolable) void Yes setQueryTimeout(int seconds) void Yes setFetchSize(int rows) void Yes cancel() void Yes executeLargeUpdate(Str ing sql) long No getLargeUpdateCount() long No executeLargeBatch() long No executeLargeUpdate(Str ing sql, int autoGeneratedKeys) long No executeLargeUpdate(Str ing sql, int[] columnIndexes) long No executeLargeUpdate(Str ing sql, String[] columnNames) long No 通过setFetchSize 可以减少结果集在客户端的内存占用情况。它的原理是通过将结 果集打包 成游标,然后分段处理, 所以会加大数据库与客户端的通信量,会有性 能损耗。 由于数据库游标是事务内有效,所以,在设置setFetchSize 的同时,需要将连接设 置为非自动提交模式, setAutoCommit(false)。 同时在业务数据需要持久化到数据库 中时,在连接上执行提交操作。 LargeUpdate 相关方法必须在JDBC4.2 及以上使用。