Массовое обновление в mysql занимает много времени для 24000 записей - PullRequest
1 голос
/ 25 февраля 2020

Мое требование - обновить записи в таблице X, если записи существуют, иначе вставьте их. Для этого я создал временную таблицу и вставил все записи во временную таблицу. позже я запустил запрос на обновление таблицы X на основе первичных ключей, используя внутреннее соединение между таблицей X и временной таблицей. Для новых записей я запустил запрос вставки, используя условие, где не существует. Мой запрос вставки завершается за минуту для 24000 записей, но запрос на обновление для 24000 записей занимает 13 минут.

Есть ли способ сократить время для обновления 24000 записей в mysql? обновить запрос, который я использовал:

update x
  join x_temp 
    on x.primarykey = x_temp.primarykey 
   set X.col1 = x_temp.col1
     , x.col2 = x_temp.col2 ..
...