我尝试使用以下代码更新一系列BLOB值。请注意我们如何不使用Blob
个对象,只需调用setBytes
。
try (PreparedStatement p = c.prepareStatement("UPDATE table SET data = ? WHERE id = ?") {
for (Map.Entry<String, byte[]> d : updates.entrySet()) {
p.setBytes(1, d.getValue());
p.setString(2, d.getKey());
p.addBatch();
}
p.executeBatch();
}
然而,这种运行速度非常慢(每秒更新大约100行)
Blob
个对象吗?我们如何做这些更新和新数据插入?