目前我们正在从一个database
中选择数据并将其插入备份数据库(SQL SERVER
)。插入性能调优
该数据在一次选择中总是包含超过15K条记录。 我们使用枚举遍历所选的数据。
我们正在使用JDBC PreparedStatement
插入数据:
Enumeration values = ht.elements(); -- ht is HashTable containing selected data.
while(values.hasMoreElements())
{
pstmt = conn.prepareStatement("insert query");
pstmt.executeUpdate();
}
我不知道这是否是做的更快插入正确的或有效的方法。
对于插入10k行需要约30分钟或更长的时间。 有没有什么有效的方法让它变快?
注意:不使用表上的任何索引。
考虑用'PreparedStatement'进行批处理,并确保autocommit已关闭。 – Kayaman
您在这里使用Oracle和MS SQL Server吗? – jarlh
目标表不应该有任何索引。这将有助于更快插入。 –