Запрос на вставку 1000000 строк в один запрос с использованием mysql - PullRequest
0 голосов
/ 05 декабря 2018

Мне нужно вставить 1000000 строк с одинаковыми значениями для целей тестирования.

Это запрос на вставку одной строки.

insert into CRM_test.CRM_Pipeline(Name,BranchId,CreatedOn,CreatedFrom ) values("Pipeline1",1, now(),95);

Есть ли способы вставить 1000000 строк в однузапрос с использованием mysql?

Заранее спасибо

Ответы [ 2 ]

0 голосов
/ 05 декабря 2018

Я не знаю, будет ли это работать для 1000000 строк,
Если нет, вы можете уменьшить число до меньшего значения и выполнить запрос несколько раз.
создайте эту хранимую процедуру и выполните ее.

* * 1004
0 голосов
/ 05 декабря 2018

Теоретически, нет предела тому, сколько данных вы можете вставить с помощью оператора INSERT.Но на практике вы можете ограничиться значением max_allowed_packet, которое по умолчанию составляет 1 МБ.Один из вариантов - временно увеличить max_allowed_packet до значения, которое может поддерживать вставку 1 миллиона записей.Альтернативой этому может быть использование LOAD DATA с CSV-файлом, содержащим ваши данные.

Одна из причин, по которой вы не делаете ни одной вставки, заключается в том, что, учитывая большой размер вставки, она может потерпеть неудачу где-нибудь всредний, например, из-за проблем с сетью, вы можете либо потерять всю транзакцию, либо получить частичную вставку.Таким образом, вы можете разбить вставку на более мелкие партии, если только по той причине, что это делает ее более безопасной.

...