1
我應該做我的應用程序應力測試,我需要在表60萬條記錄插入數據。我的追蹤對象的方法是,首先我初始化連接類的實例,然後使用用於使用連接由的PreparedStatement循環,和之後每500行的插入在插入數據我提交的連接,並重置它。最快的方式使用JDBC
使用此功能,我可以每分鐘插入大約150條記錄。我只是想知道是否有做這樣的執行所需的時間是最小的
我應該做我的應用程序應力測試,我需要在表60萬條記錄插入數據。我的追蹤對象的方法是,首先我初始化連接類的實例,然後使用用於使用連接由的PreparedStatement循環,和之後每500行的插入在插入數據我提交的連接,並重置它。最快的方式使用JDBC
使用此功能,我可以每分鐘插入大約150條記錄。我只是想知道是否有做這樣的執行所需的時間是最小的
使用JDBC批量插入的任何更優化的方式:
PreparedStatement ps = conn.prepareStatement(sql);
int count = 0;
for(loop construct here) {
count++;
ps.setString(1,someString);
// ... and so forth
ps.addBatch();
if (count%500 ==0)
ps.executeBatch()
}
ps.executeBatch();
使用Oracle公用事業調查批量插入或加載數據,而不是你的代碼。 –
在循環中提交併不會提高Oracle的性能 - 情況正好相反。只在交易結束時提交一次。 –
但是,每分鐘150行是***方式減慢。我可以用本地服務器(6列的窄表)獲得每分鐘大約100萬次 –