Самый быстрый способ загрузки табличных данных из CSV-файла? - PullRequest
1 голос
/ 29 марта 2019

У меня есть база данных в MySQL Workbench, и я хочу загрузить данные из CSV-файлов. Сейчас я использую опцию «Мастер импорта табличных данных», но это занимает много времени. Мои CSV-файлы содержат миллион строк, но для загрузки каждого из них требуется около 12 часов. И у меня есть около 100 файлов для загрузки. Моя версия MySQL - 8.0.

Есть ли способ загрузить файлы данных быстрее всего? Спасибо за совет

1 Ответ

0 голосов
/ 29 марта 2019

Вы можете попробовать что-то вроде этого:

LOAD DATA INFILE 'c:/myfile.csv' 
INTO TABLE table
FIELDS TERMINATED BY ',' 
ENCLOSED BY '"'
LINES TERMINATED BY '\n'
IGNORE 1 ROWS;

Будьте осторожны со значениями, которые вы присваиваете FIELDS TERMINATED BY, ENCLOSED BY и LINES TERMINATED BY.Используйте IGNORE 1 ROWS только если у вас есть строка заголовка, содержащая, например, имена полей.

А если вам нужно сохранить данные на удаленном сервере, вы можете использовать

LOAD DATA LOCAL INFILE 'c:/myfile.csv' 
INTO TABLE table
FIELDS TERMINATED BY ',' 
ENCLOSED BY '"'
LINES TERMINATED BY '\n'
IGNORE 1 ROWS;

Вы можете найти больше информации здесь .

...