I have to execute ~6k update queries on a table through sql (No Hibernate/JDBC). Query is something like
update A set some_id='value1' where id='value2'
It takes too long to execute all these queries. Is there a way to improve the performance?
Create a temp table (containing just the value1 and value2 values) and populate it in bulk (ie, you can potentially do this with a single insert statement). Then do an update using a join between your existing table and the temp table.
Something like
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;
来源:https://stackoverflow.com/questions/16709252/mysql-bulk-update