Как быстро добавить уникальный индекс в InnoDB если уже в таблице много не уникальных данных?
Подскажите способ как можно поставить уникальный индекс на 2 поля в старой базе. Просто так он конечно же не добавляется - т.к много не уникальных.
База не большая, около 1.5 миллиона строк.
В идеале хотелось бы вот так, включить индекс - старые данные не трогаются, а новые, в случае не уникальности, не добавляются, если так возможно, если нет, то хоть как-то... не уникальные разрешается удалять.
Для правильного вопроса надо знать половину ответа
CREATE TABLE `temp` LIKE `old_table`
ALTER TABLE `temp` ADD UNIQUE ...
INSERT INTO `temp` ... SELECT FROM `old_table` ... ON DUPLICATE KEY ...
DROP TABLE `old_table`
ALTER TABLE `temp` RENAME TO `old_table`