2013-07-31 1 views
2

В основном у меня есть список серийных номеров, все 10 цифр. У меня уже есть таблица с 1,3 миллионами записей. Мне нужны эти импортированные, но если это дубликат, не импортируйте его. Каков наилучший способ сделать это.Импорт 2,25 миллиона записей в MYSQL ... PHP foreach loop или импорт файла MYSQL? Как я должен это делать?

У меня есть серийные номера как один большой файл, и разделены на 20 файлов меньшего размера.

PHP и MYSQL - это языки, которые я использую.

+0

Можете ли вы использовать что-то вроде PhpMyAdmin и написать SQL-запрос? Нет необходимости привлекать PHP –

+2

http://dev.mysql.com/doc/refman/5.1/en/load-data.html? –

+0

Я не знал, как долго может быть строка для phpmyadmin ... 2,3 миллиона строк? – Branndon

ответ

2

использование LOAD DATA INFILE. Это, безусловно, самый быстрый способ сделать это. Вы можете использовать IGNORE, как предлагает RMK.

LOAD DATA LOCAL INFILE 'filename' IGNORE INTO TABLE tbl_name 
1

Я предлагаю использовать INSERT_IGNORE в запросе:

INSERT IGNORE 
INTO exampletable (column1, column2) 
VALUES(value1, value2); 

Таким образом, он будет игнорировать строку на дублированных ключей.

http://dev.mysql.com/doc/refman/5.6/en/insert.html

Смежные вопросы