Производительность приложений — это моя страсть. Нашел у себя в архиве тесты mysql insert`а, тупо по одной строке и групповой вставки (multiple isnert), кто не знает это происходит таким образом:
INSERT INTO sometable (col1, col2, col3)
VALUES (1, 2, 3), (2, 3, 4), (5, 6, 7)
и тд.
К сожалению кода к-ый тестировался не осталось. Слева вставка единичной строки по циклу, справа — групповая вставка.
Количество элементов 1000:
0.102933 0.010
0.10104 0.009
0.08725 0.008
Количество элементов 10000:
1.00147199 0.051
0.9707269 0.033
0.99237 0.036
0.74959 0.0317
0.77398 0.054
0.975111 0.042
Количество элементов 100000:
9.77275 0.312
9.369932 0.317
9.29440 0.324
При большем количестве элементов mysql ругается что пакет такого размера не может уложить в буффер. Итак, по результатам можно судить об увеличение скорости минимум раз в 10. С другой стороны, не всегда требуется вставка большого количества строк. Это можно использовать в случае очередей, или вставка из кеша, когда вы вставляете значения в кеш минуя бд (знаю, это не правильно) а потом раз в минуту записываете данные из кеша в бд.