У меня есть 2 таблицы MySQL: t1 и t2, которые составляют 1M и 15M строк соответственно.Таблица t1 имеет только 1 поле: «tel» и t2 имеет много полей, но также имеет поле «tel».То, что я хочу сделать, довольно просто: удалить все строки в t1, которые существуют в t2:
DELETE FROM t1 WHERE t1.tel IN (SELECT tel FROM t2)
Проблема в том, что этот запрос, похоже, не завершен.Я запустил его на 8-ядерной рабочей станции Xeon и через 2 дня решил остановить его и искать альтернативы.Я также попытался создать новую таблицу (tt1) и использовать LEFT OUTER JOIN, чтобы вставить только строки из t2, которые не находятся в t1, но, кажется, это занимает столько же времени.Поле 'tel' в t1 является первичным ключом, а это уникальный ключ в t2 (я также пробовал CREATE INDEX t2tel ON t2 (tel), но это не помогло).
Есть предложения?Я подумываю написать программу на C # для загрузки обеих таблиц в упорядоченные массивы или хэши и сделать это с помощью кода ... Заранее спасибо.