Несколько вставок с XML и INSERT… VALUES… SELECT… UNION ALL
-
28-10-2019 - |
Вопрос
Для 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
, а также новый подход, называемый параметрами, возвращающими табличное значение.