我想升级我的项目的jdbc驱动程序。目前我使用的是ojdbc5.jar。我想升级到ojdbc8.jar。
我注意到现在读取blobs的速度要慢得多。
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 Database XE 11.2和12.2以及Java 8。有什么解决方案吗?
发布于 2018-03-13 22:05:49
较新的驱动程序不只是获取LOB定位器,它还从lob预取数据。因此,调用resultSet.getBlob(columnName)可能会更昂贵,但调用blob.getBytes()会更快。总体而言,使用较新的驱动程序,性能应该会更好。
https://stackoverflow.com/questions/49252582
复制相似问题