как оптимизировать запрос UPDATE для повышения производительности MySQL

У меня есть 2 таблицы в базе данных mySQL... они очень большие... сейчас около 1 миллиона, а скоро будет 5 миллионов или около того

один из них ищет работу другая таблица пользователей joomla

Я хочу скопировать или вставить идентификаторы в таблицу соискателей, где столбец электронной почты обоих совпадает..

т. е. электронная почта соискателя = электронная почта пользователей jos.

Я использовал приведенный ниже запрос, но он занимает слишком много времени и сильно нагружает сервер mysql.... запросы зависают, и я всегда заканчиваю -перезапуском mysql...

UPDATE  `jos_jbjobs_jobseeker` 
SET user_id =   ( SELECT jos_users.id
FROM jos_users
WHERE jos_users.email =  jos_jbjobs_jobseeker.email)
WHERE EXISTS
  ( SELECT jos_users.id
    FROM jos_users
    WHERE jos_users.email =  jos_jbjobs_jobseeker.email);

как я могу оптимизировать приведенный выше запрос для достижения лучшей производительности. Кроме того, мне было бы интересно, можно ли его выполнять партиями, то есть 20000 или 40000 записей за раз.

Пожалуйста, сообщите

6
задан m1k3y3 13 April 2012 в 01:42
поделиться