我想升级项目的jdbc-driver。 目前我正在使用ojdbc5.jar。 我想升级到ojdbc8.jar。
我注意到现在读取blob的速度要慢得多。
try (Connection connection = DriverManager.getConnection(url, username, password)) {
try (final PreparedStatement statement = connection.prepareStatement("select * from BLOB_TABLE")) {
try (ResultSet resultSet = statement.executeQuery()) {
while (resultSet.next()) {
final Blob blob = resultSet.getBlob("MYBLOB");
}
}
}
}
该表包含10.000个条目。 使用ojdbc5驱动程序需要约0.1秒。 使用ojdbc8驱动程序需要大约5-6秒。
我正在使用Oracle数据库XE 11.2和12.2以及Java 8。 任何解决方案?
答案 0 :(得分:1)
较新的驱动程序不仅仅是获取lob定位器,还会从LOB中预取数据。因此,调用resultSet.getBlob(columnName)
可能会更昂贵,但调用blob.getBytes()
会更快。总体而言,新驱动程序的性能应该更好。