|
|
|
Скорость импорта CSV
|
|||
|---|---|---|---|
|
#18+
Здравствуйте. Прислали мне CSV-шник размером 10 гигов, чтобы сделать пару запросов. Поставил я себе MySQL Workbench, подготовил таблицу и начал импорт файла (всё происходит на моем домашнем компе). Прогресс-бар даже не начал зеленеть, я тормознул импорт, чтобы посмотреть, сколько записей загрузилось. Оказалось, где-то в районе 5000. При повторных попытках скорость импорта только падала. Питоновский скрипт уже примерно час считает количество строк в файле: на данный момент это 1 700 000, и конца не видно. Даже исходя из этого количества записей, таблица импортируется только через две недели. Теоретически возможен импорт 10 гигов из CSV в таблицу в обозримые сроки? Каков способ? Какова вообще должна быть нормальная скорость импорта? Комп в принципе нормальный - винда х64, 8 гб ОЗУ... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.07.2016, 18:53 |
|
||
|
Скорость импорта CSV
|
|||
|---|---|---|---|
|
#18+
mlader, как начал импорт, ddl таблицы? для нормальной работы сам csv должен быть не на диске , где файлы базы ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.07.2016, 19:33 |
|
||
|
Скорость импорта CSV
|
|||
|---|---|---|---|
|
#18+
Во-первых, mysql умеет вот такую забавную вещь: http://dev.mysql.com/doc/refman/5.7/en/csv-storage-engine.html Можно создать с таким storage engine таблицу, описывающую ваш файлик, выключить mysql, подменить файл данных, запустить mysql и работать с файлом без фактического импорта содержимого. (не уверен, надо ли даже выключать mysql при этом, но хуже не будет) Индексов нет, но раз вам и надо-то всего пару запросов - seqscan'ом их возможно будет быстрее прочитать сразу, чем копировать всё и потом вешать индекс. Или insert .. select'ом скопировать только нужные данные в другую таблицу и потом вешать индексы. Далее именно импорт. Самое быстрое - это load data infile, когда сама субд файл и читает и копирует и пишет в новую таблицу. http://dev.mysql.com/doc/refman/5.7/en/load-data.html Тоже специально для CSV-файлов. Оно же - нативная утилита mysqlimport Ещё стоит учесть вот эту страницу мануала: https://dev.mysql.com/doc/refman/5.7/en/optimizing-innodb-bulk-data-loading.html ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.07.2016, 19:52 |
|
||
|
|

start [/forum/topic.php?fid=47&msg=39279322&tid=1831546]: |
0ms |
get settings: |
6ms |
get forum list: |
10ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
232ms |
get topic data: |
6ms |
get forum data: |
2ms |
get page messages: |
26ms |
get tp. blocked users: |
1ms |
| others: | 202ms |
| total: | 489ms |

| 0 / 0 |
