Прямой импорт MySQL в CSV обычно является самым быстрым вариантом, однако он не без ограничений. Во-первых, вам нужно импортировать все или ничего в файл, и вы не будете знать, как далеко он продвинется, пока это не будет сделано. Поскольку некоторые операции импорта могут занимать часы, даже дни, вы можете не знать, где они находятся. Вся операция вставки в таблицу InnoDB выполняется атомарно из соображений производительности, но это означает, что она не видна до полной фиксации.
Еще один файл должен присутствовать на сервере. Опция LOCAL
- это необычная особенность инструмента командной строки mysql
, которая, вероятно, не работает в драйвере базы данных, если не выполняется эмуляция.
Вставка строка за строкой с анализатором CSV почти всегда медленнее. Если вам нужно что-то сделать, обязательно подготовьте оператор INSERT
один раз и повторно используйте его в цикле, или выполните "multi- INSERT
" с таким количеством строк, которое вы можете уместить в буфере максимального размера оператора .