Mysql Bulk Update

一曲冷凌霜 提交于 2019-11-30 14:10:49

问题


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?


回答1:


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

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!