2015-08-20 2 views
0

У меня есть пользователь, который может нажать кнопку, которая генерирует список данных, и каждый элемент в этом списке должен иметь соответствующую строку данных, вставленную в таблицу базы данных.Вставка нескольких строк, простой цикл или хранимая процедура MySQL?

Когда они нажимают указанную кнопку, я буду вставлять около 4-8 строк данных, с примерно 5 полями, поэтому не большой запрос вообще. Итак, если говорить о производительности, лучше было бы создать цикл for, который запускает 4 отдельных запроса INSERT, или я могу что-то сделать с stored procedure? Я не уверен, стоит ли на самом деле создавать хранимую процедуру для чего-то такого маленького, как это.

Я не могу использовать один запрос INSERT, чтобы вставить несколько строк одновременно, потому что для создания строки запроса на моем сервере node.js потребуется много дополнительного кода.

ответ

1

Если вы вставляете менее 10 строк, я не вижу проблем с запуском insert несколько раз. You do несут много накладных расходов, начиная и совершая транзакции и передавая данные в базу данных. Но базы данных могут обрабатывать сотни вставок в секунду, поэтому для небольшой пользовательской базы это, вероятно, достаточно хорошо.

Однако, я не понимаю, почему insert . . . values будет трудно:

insert into t(a, b, c) 
    values ('a1', 'b1', 'c1'), 
      ('a2', 'b2', 'c2'), 
      . . .; 

Это не кажется намного сложнее, чем зацикливание над данными в первую очередь.

 Смежные вопросы

  • Нет связанных вопросов^_^