Вставка нескольких записей в SQL2000 - PullRequest
0 голосов
/ 16 апреля 2010

У меня есть веб-приложение, которое в настоящее время вставляет x (между 1 + 40) записей в таблицу, содержащую около 5 полей, с помощью хранимой процедуры linq-2-sql в цикле.

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

1 Ответ

1 голос
/ 16 апреля 2010

В целом, если база данных хорошо оптимизирована (правильно проиндексирована и поддерживается), самые большие накладные расходы у вас возникают при создании соединения.

Будет лучше создать один большой запрос и инициировать одно соединение, чем создавать 30 небольших запросов и инициировать 30 соединений.

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

Подводя итог: создайте запрос и выполните его один раз после завершения цикла.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...