XML和INSERT的多个插入... VALUES ... SELECT ... UNION ALL

时间:2012-02-21 18:22:30

标签: xml sql-server-2005 c#-4.0 insert union-all

对于SQL Server 2005,如果我想插入大约20或30行,每行有三列,哪种方法更快更有效?调用应用程序是C#4.0 .Net控制台应用程序。

a)将值作为XML传递给存储过程并解析它并执行插入
OR
b)根据SQL Server 2005: Insert multiple rows with single query建议使用INSERT...VALUES... SELECT() UNION ALL构建SQL命令?

谢谢。

1 个答案:

答案 0 :(得分:1)

你尝试过吗?说实话,对于20或30行,你真的很难找到差异。在更大的范围内,我预计XML所涉及的额外数据和解析的成本将提取数据将使其成为效率较低的选择。在SQL Server 2008中,有一个更高效的VALUES()构造函数,不需要UNION ALL,还有一种称为表值参数的新方法。