У меня есть две таблицы, мы будем называть их email_bounces и master_email_list.SQL-запрос с вложенным запросом в другой таблице в нем
master_email_list составляет ~ 3,5 м записей.
email_bounces ~ 100 000 записей.
Я пытаюсь выполнить запрос, в котором я обновляю bounce = 1 в файле master_email_list, если адрес электронной почты находится в email_bounces.
Вот что у меня есть.
update 'master_email_list' set bounce=1 where email in (select email FROM 'email_bounces')
Кроме того, что, кажется, не работает, он запрашивает, а затем вешает на неопределенное время (я оставил ее работать на ночь, после того, как около 4 часов работы до).
Справка приветствуется.
У вас есть какой-либо указатель на 'master_email_list.email'? –
У вас есть индекс по электронной почте в master_email_list, а также в таблице bounces? Кроме того, попробуйте установить «master_email_list» set bounce = 1, где EXISTS (выберите 1 FROM 'email_bounces' B где M.email = B.email) ... но вам нужны эти индексы на месте сначала. –
Для работы в MySQL не используйте подзапрос в таком предикате. Вместо этого используйте операцию JOIN. – spencer7593