Медленная вставка MYSQL в БД MyISAM

У меня есть файл (insert.sql), который имеет 250 тыс. Строк, таких как без ключа, без индекса:

INSERT `project_383`.`entity_metrics_build_1` VALUES ('d402afeb4630267f383b99875f37162d', 'ClMaxCycl', '-1');

INSERT `project_383`.`entity_metrics_build_1` VALUES ('d402afeb4630267f383b99875f37162d', 'ClLMethodsCalled', '0');

Я ввел его в мою таблицу MyISAM, используя mysql -u root -p project < insert.sqlОбщее время 5 минут.

Я вижу в другой ветке, люди говорят, что они могут вставить миллионы строк менее чем за 1 секунду. Я действительно не понимаю. Может кто-нибудь объяснить мне, почему мой SQL такой медленный?

Мой сервер - 16-гигабайтный процессор Xeon.

1 ответ

Решение

Объедините их в один INSERT с несколькими предложениями VALUES:

INSERT `project_383`.`entity_metrics_build_1`
VALUES ('d402afeb4630267f383b99875f37162d', 'ClMaxCycl', '-1'),
       ('d402afeb4630267f383b99875f37162d', 'ClLMethodsCalled', '0'),
       ...;

Если вы посмотрите на файл, созданный mysqldumpВот как это происходит.

Другие вопросы по тегам