Вопрос

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

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

Спасибо.

Это было полезно?

Решение

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top