我有两个表 table1 和 table2 并在一个列上使用内部连接将它们连接起来。子表有可能拥有超过 5000 万条记录。使用 spring jdbc update() 删除 1700 万条记录需要 30 分钟。有没有优化的方法来减少删除时间。
问问题
466 次
1 回答
1
使用具有一些可应对批量大小的 batchUpdate,例如。5000。
编辑:问题可能不在 Spring 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
于 2012-11-30T11:56:12.483 回答