我必須在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