Вставить несколько записей в одном запросе - PullRequest
2 голосов
/ 02 февраля 2010

Я пытаюсь вставить около 100 000 в свою базу данных SQL Server. Это очень медленно, когда я создаю 100 000 отдельных запросов, поэтому я попытался вставить все эти записи в один запрос, это сработало для первых нескольких тысяч записей, но затем вызвала ошибку тайм-аута.

Какой самый быстрый способ вставить несколько записей в базу данных?

Ответы [ 4 ]

3 голосов
/ 02 февраля 2010

Посмотрите массовая вставка для начала, где вы подаете на сервер файл необработанных данных и файл схемы с описанием ваших данных (в двух словах.)

2 голосов
/ 02 февраля 2010

также ... не делайте этого в веб-запросе.вы можете обойти это, если увеличите значение CommandTimeout (отличное от ConnectionTimeout), но лучше всего использовать эти массовые массовые нагрузки в работе вне процесса, которая фактически выполняет загрузку.

1 голос
/ 02 февраля 2010

Другая возможность (кроме массовой вставки) - настроить коэффициент заполнения для индексов таблицы. Попробуйте коэффициент заполнения 70% для каждого из индексов таблицы и посмотрите, что вас это покупает.

1 голос
/ 02 февраля 2010

массовая вставка (это позволяет разделить вставку на управляемые пакетные транзакции для вас): http://msdn.microsoft.com/en-us/library/ms188365.aspx

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