sql-server-2008 - 在不使用 BULK INSERT 的情况下插入大量行的最快方法是什么?

标签 sql-server-2008 sqlcmd

我正在使用 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/

相关文章:

sql-server - 如何确定 SQL Server 是使用默认实例还是命名实例安装的?

SQL WHERE 临时列

sql-server-2008 - SQL Server - 重命名列

sql - 编写 SQL 脚本但遇到问题

sql-server - 如何使 SSDT Profile.xml SqlCmdVariable 为空字符串或可选

error-handling - 从DOS进行错误测试和控制

sql - 生成更改脚本

SQLCMD 传入变量

tsql - sqlcmd 未显示 RESTORE 数据库统计信息

.net - SQLCMD 模式与 .net windows 应用程序一起运行