Hello,
After upgrading the Oracle JDBC driver from
com.oracle.database.jdbc:ojdbc11:21.9.0.0
to
com.oracle.database.jdbc:ojdbc11:23.7.0.25.01,
the execution time of the following method (on a slow network connection) increased significantly — from about 5 seconds to 50 seconds:
public ResultSet oracle.jdbc.driver.OracleDatabaseMetaData.getColumns( String catalog, String schemaPattern, String tableNamePattern, String columnNamePattern ) throws SQLException
When debugging, I found that although this method internally calls:
rs.setFetchSize(4284);
the corresponding Statement still has:
rowPrefetch = 1
In the older driver version, this value was correctly set to 4284.
From the debugging process it appears that the issue may be related to the isFetchStreams flag.
In stmt.outBindAccessors[4].newstmt this flag is set to true, which results in rowPrefetch being forced to 1.
Thank you in advance for your help.
Peter