@astrotrain

Как вставить очень много INSERT за один раз из строк в файле (php)?

Суть такова: скрипт сбрасывает в текстовый файл либо строки, либо готовые выражения, потом скрипт-вставлятор-в-бд парсит файл и либо берет команды оттуда либо на основе текстовых строк генерирует insert. Вопрос, собственно, вот в чем - как правильно оформить множественные insert'ы в базу, чтобы получилось максимально быстро? Файлы могут быть до ~5 мб, поэтому нагрузка довольно неплохая будет. Какие опции при insert нужно включить и как правильно сформировать запрос? В одной вставке, например можно сразу несколько записей сделать типа INSERT INTO tbl_name (a,b,c) VALUES(1,2,3),(4,5,6),(7,8,9);, на каково максимальное/оптимальное количество? Спасибо.
  • Вопрос задан
  • 459 просмотров
Решения вопроса 1
dimonchik2013
@dimonchik2013
non progredi est regredi
Пригласить эксперта
Ответы на вопрос 1
Melkij
@Melkij
PostgreSQL DBA
Сформировать CSV и скормить через LOAD DATA INFILE напрямую в базу.

Если с load data не получается, то в одной транзакции скармливаете множественные insert'ы (насколько множественные - см max_allowed_packet)
5 мб данных не так уж и много.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы