-1
我有兩個表table1和table2,並使用一個列上的內部連接來連接它們。 子表有可能有超過5000萬的記錄。 花了30分鐘,使用spring jdbc update()刪除了1700萬條記錄。 是否有減少刪除時間的優化方法。使用彈簧刪除批量記錄jdbc
我有兩個表table1和table2,並使用一個列上的內部連接來連接它們。 子表有可能有超過5000萬的記錄。 花了30分鐘,使用spring jdbc update()刪除了1700萬條記錄。 是否有減少刪除時間的優化方法。使用彈簧刪除批量記錄jdbc
使用
批更新與一些可操作的批量大小,例如。 5000.
編輯:該問題可能不是在春季jdbc,但在您的查詢。
這會適合你嗎?
DELETE
res
FROM
RESULT res
INNER JOIN
POSITION pos
ON res.POSITION_ID = pos.POSITION_ID
WHERE
pos.AS_OF_DATE = '2012-11-29 11:11:11'
這將從RESULT表中刪除條目。簡化SQL小提琴演示:http://www.sqlfiddle.com/#!3/4a71e/15
如果您從您的應用程序添加一些代碼,我可以編寫一個示例。 – heikkim
你可以exaplin如何使用batchupdate? – user1828964
this.getJdbcTemplate()。update(DELETE_RESULT_QUERY,asOfDate); – user1828964