У меня есть устаревшее веб-приложение php, которое выполняет импорт базы данных csv -> в «главную» таблицу, в которой хранятся данные сущностей, и таблицу значений атрибутов сущностей, в которой хранятся динамические данные для каждой сущности.
Процесс импорта представляет собой построчную итерацию через файл csv с INSERT в основную таблицу и несколькими INSERT в таблицу EAV для каждой строки.
Этот процесс SLOOWи то, что мало известно о настройке mysql, говорит мне, что оператор LOAD DATA, как правило, гораздо быстрее, чем серия INSERT;однако из-за процесса EAV итерация все равно должна была бы произойти, хотя и на основе результатов запроса к базе данных, а не файла CSV.
Стоит ли вносить изменения?
Имеет ли значение, если в каждом файле присутствуют десятки миллионов записей, и, как правило, менее 2/3 полей файла фактически сопоставляются с атрибутами?