我必须通过sql在表上执行〜6k更新查询(无Hibernate / JDBC)。查询类似于
UPDATE A
SET
some_id = 'value1'
WHERE
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;