我正在使用 sqlcmd 运行 SQL 文件,将许多行插入到 MS SQL 服务器(2008 R2)中,执行 BULK INSERT 将是最佳选择,但 SQL 服务器可能无法访问数据文件。
还有哪些其他方法或选项可以在 MS SQL Server 2008 R2 上进行(非常)快速的插入?
最佳答案
最终编写了一个使用 System.Data.SqlClient.SqlBulkCopy 的自定义 C# 应用程序.还将包含数据的 SQL 文件替换为 System.Data.DataTable.WriteXml
生成的 XML 文件,稍后可以使用 ReadXml
导入并直接使用 SqlBulkCopy
.
此解决方案比使用普通 INSERT
快 10 倍,比使用 1000 行插入快 50 倍。 (为什么每条语句插入多行值比每行插入语句慢得多,这对我来说是个谜。)
关于sql-server-2008 - 在不使用 BULK INSERT 的情况下插入大量行的最快方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6157504/