我必须在sqlserver数据库中插入超过200k条记录。哪种方法最适合批量插入?
我的想法是将数据添加到数据表然后做批量插入,但我的TL说:“将数据插入CSV文件格式并进行批量插入”。
哪种方法更快?
我必须在sqlserver数据库中插入超过200k条记录。哪种方法最适合批量插入?
我的想法是将数据添加到数据表然后做批量插入,但我的TL说:“将数据插入CSV文件格式并进行批量插入”。
哪种方法更快?
如果CSV文件已经创建SQL Bulk Insert是迄今为止性能和开发时间最快的。
如果您在应用程序中创建数据,您很可能会发现BulkCopy是最简单/最快的解决方案。
无论哪种方式200k记录不是一个大量的数据,应该是相当快的。
一般散装插入csv文件是高性能插入
BULK
INSERT Table
FROM ‘$path\$file.csv’
WITH
(
FIELDTERMINATOR = ‘;’,
ROWTERMINATOR = ‘\n’,
KEEPIDENTITY,
TABLOCK
)
我与添Schmelter答案可能会因数据源的变化一致。
使用[SqlBulkCopy](http://msdn.microsoft.com/zh-cn/library/system.data.sqlclient.sqlbulkcopy.aspx)是最有效的方法。但是你没有说什么是你的原始数据源。 – 2012-02-13 13:58:09
为什么你认为编写一个创建数据表的C#程序,填充它然后插入会更快?我认为你的TL在正确的轨道上。 – 2012-02-13 15:17:00