2013-05-12 2 views
0

Я очень новичок в игре с базой данных, поэтому простите мое невежество.mysql - лучший способ избежать дубликатов

Я загружаются миллионы строк в простую структуру таблицы базы данных MySQL

SQLStr = "LOAD DATA LOCAL INFILE 'f:/Smallscale/02 MMToTxt/flat.txt' 
    INTO TABLE `GMLObjects` FIELDS TERMINATED BY ',' 
    LINES STARTING BY 'XXX';" 

На данный момент таблица была установлена ​​в не дублей против одного поля.

Однако, мне интересно, удастся ли удалить правило дубликатов и решить проблему дубликатов позже, либо используя ALTER TABLE, либо SELECT DISTINCT, или какой-либо такой запрос.

Что вы думаете?

P.S двигатель базы данных InnoDB

ответ

0

Вы не можете «изменить» таблицу с дубликатами в таблицу без.

MySQL не может знать, какую из строк он должен удалить. Это означало бы большую работу и проблемы, чтобы удалить их позже, и это приведет к удалению записей без какой-либо выгоды.

Так избегайте дубликатов как можно раньше.

+0

Вы можете добавить уникальный ключ в таблицу и использовать 'ignore' no drop the duplicates. –

0

Почему нагрузки дубликаты в вашей БД в первую очередь?

Избегайте их как можно раньше. Это лучше для производительности, и вам не нужно писать сложные запросы.