我必须通过sql(没有hibernate/jdbc)对一个表执行~6k update查询。查询类似于
更新一个集合,其中id='value2'
执行所有这些查询需要太长时间。有没有办法提高性能?
最佳答案
创建一个临时表(仅包含value1和value2值)并批量填充它(即,您可以使用一个insert语句完成此操作)。然后使用现有表和临时表之间的联接进行更新。
有点像
INSERT INTO SomeTempTable(id, some_id)
VALUES (1,2), (3,4), (5,6), .......
UPDATE A INNER JOIN SomeTempTable ON A.id = SomeTempTable.id SET A.some_id = SomeTempTable.some_id;