Я пытаюсь импортировать очень большой SQL-дамп (около 37 миллионов строк) в таблицу InnoDB. Есть много дубликатов, и я хочу достичь, не изменяя фактический дамп, чтобы предотвратить повторную вставку строк. Поле email
может иметь дубликаты. Я попробовал следующее: после импорта всего дампа в БД я попытался выполнить следующий SQL:Быстрое удаление дубликатов записей в MySQL
set session old_alter_table=1;
ALTER IGNORE TABLE sample ADD UNIQUE (email);
Но второй запрос работает около 1 часа, а затем я просто отменил этот запрос.
Что такое правильный способ избавиться от дубликатов?
У меня есть пара идей:
- Может быть, прежде чем начать импортировать, чтобы сделать таблицу с уникальным индексом и в то время как вставки для предотвращения дубликатов без ущерба для всего процесса?
- Возможно, после импорта дампа, чтобы выбрать отдельный адрес электронной почты и вставить в другой стол?
Возможный дубликат: http://stackoverflow.com/questions/18485674/how-to-skip-duplicate-records-when-importing-in-phpmyadmin – JimmyB