Несколько вставок с XML против INSERT ... VALUES ... SELECT ... UNION ALL - PullRequest
1 голос
/ 21 февраля 2012

Для SQL Server 2005, если я хочу вставить около 20 или 30 строк с тремя столбцами в каждой, какой подход будет более быстрым и эффективным?Вызывающее приложение представляет собой консольное приложение C # 4.0 .Net.

a) Передача значений в виде XML в хранимый процесс и его синтаксический анализ и вставка
ИЛИ
b) Создайте команду SQL с INSERT...VALUES... SELECT() UNION ALL, как предлагается здесь: SQL Server2005: вставка нескольких строк одним запросом ?

Спасибо.

1 Ответ

1 голос
/ 21 февраля 2012

Вы пробовали их? Если честно, для 20 или 30 рядов вам будет очень трудно найти разницу. В более широком масштабе, я ожидаю, что затраты на дополнительные данные и анализ, связанный с XML для извлечения данных, сделают его менее эффективным выбором. В SQL Server 2008 есть более эффективный конструктор VALUES(), для которого не требуется UNION ALL, а также есть новый подход, называемый табличными параметрами.

...