2010-02-02 3 views
2

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

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

ответ

2

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

3

Посмотрите в bulk insert для стартеров, в котором вы подаете сервер исходного файла данных и файла схемы, описывающий данные (в двух словах.)

1

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

+0

Я должен добавить, что если этот подход будет предпринят, вы должны периодически перестраивать свои индексы, чтобы освободить место для большего количества вставок. – M6rk

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