?

Log in

VitCOM Photo
WebDev - Как удалить дупликаты записей из mysql 
7-июл-2009 03:40 am

После недолгих мучений был найден такой результат

ALTER ignore TABLE `tablename` ADD UNIQUE (`field1`, `field2`)

В примере оставляются только те записи, в которых field1, field2 уникальные.
Это можно сделать по 1 полю или по нескольким.

Способ вроде как самый быстрый из возможных.

Comments 
7-июл-2009 07:50 pm
а ошибку не выдаст? или ingnore все схавает?
7-июл-2009 09:18 pm
в моем случае не выдал а дупликаты удалил - есдинственное не так быстро было - таблица на 50тыс записей обработалась секунд за 7
7-июл-2009 09:23 pm
а потому что два параметра использовал :) помню работал с таблицой на 100 000 записей, обработка прошла за 15 минут :)
7-июл-2009 07:52 pm
кстати, тут создастся один индекс на два поля, т.е. логика будет field1 & field2, т.е. теоретически field1 могут повторяться в разных строках, но с разными field2
7-июл-2009 09:21 pm
ну тогда можно 2 раза прогнать с отдельным field2 и field1
7-июл-2009 09:22 pm
да, так правильно будет :)
1-фев-2011 07:22 am
а вот за это биг сенкс
This page was loaded мар 25 2017, 12:06 am GMT.