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

a)将值作为XML传递给存储的proc并对其进行解析并执行插入操作

b)如此处建议的那样,使用INSERT...VALUES... SELECT() UNION ALL构造一个SQL命令: SQL Server2005:通过单个查询插入多行

谢谢。

有帮助吗?

解决方案

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

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top