首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在不使用BULK INSERT的情况下插入大量行的最快方法是什么?

问在不使用BULK INSERT的情况下插入大量行的最快方法是什么?
EN

Stack Overflow用户
提问于 2011-05-28 04:43:15
回答 2查看 1.2K关注 0票数 3

我正在使用sqlcmd运行SQL文件,它将许多行插入到MS SQL server (2008 R2)中,执行批量插入将是最佳的,但数据文件对于SQL server可能无法访问。

在MS SQL server2008 R2上,还有哪些其他方法或选项可以(非常)快速地执行插入?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-05-28 21:40:50

最终编写了一个使用System.Data.SqlClient.SqlBulkCopy的自定义C#应用程序。还将包含数据的SQL文件替换为System.Data.DataTable.WriteXml生成的XML文件,这些文件稍后可以通过ReadXml导入并直接用于SqlBulkCopy。

这个解决方案大约比使用普通的INSERT快10倍,比使用每个1000行的inserts快50倍。(为什么每个语句包含多行值的插入语句比每个语句只包含一行的insert语句要慢得多,这对我来说是个谜。)

票数 2
EN

Stack Overflow用户

发布于 2011-05-28 21:57:03

您还可以使用bcp实用程序。我发现它比BULK INSERT语句更快、更容易使用。惟一的警告是,您可能需要在服务器上运行它&将您的文件放在服务器可访问的共享目录中。我不太确定你是否真的需要这样做。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6157504

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档