Более быстрый способ импортировать тысячи записей из одного текстового файла в базу данных MySQL? - PullRequest
1 голос
/ 19 августа 2010

У меня около 50 текстовых файлов, каждый из которых содержит около 8 столбцов и 80 000 записей. Я написал скрипт в Matlab, который читает все файлы по одному, а затем помещает его в MySQL, используя одну инструкцию INSERT для каждого файла. Однако это занимает огромное количество времени (даже для одного файла!). Я также попытался использовать PHPmyAdmin, который говорит, что файл слишком велик для загрузки (около 8 МБ). Поэтому, пожалуйста, предложите обходной путь и каков идеальный способ обычно импортировать большие текстовые файлы. Кроме того, сколько времени обычно требуется для импорта одного такого файла?

Ответы [ 4 ]

2 голосов
/ 19 августа 2010

Все, что вам нужно в этом руководстве: http://dev.mysql.com/doc/refman/5.0/en/insert-speed.html

1 голос
/ 19 августа 2010

Использовать LOAD DATA INFILE синтаксис.

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

1 голос
/ 19 августа 2010

Попробуйте mysqlimport

Также тип таблицы myisam будет импортироваться быстрее, в зависимости от того, нужна ли вам поддержка транзакций (innodb).

0 голосов
/ 19 августа 2010

Используйте множественные ВСТАВКИ.Это не так дорого, так как вы все равно подключаетесь к mysql только один раз.Затем вы можете использовать цикл для обновления ваших значений (-> ваш sql) и выполнить (я думаю, что это «выборка» для mathlab) запроса.

(см., Например, http://spx.arizona.edu/Projects/Database/Accessing%20mySQL%20through%20Matlab.pdf)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...