【发布时间】:2012-10-06 23:08:45
【问题描述】:
我有一个大型(约 50Gb,约 3 亿行)制表符分隔文件,我想将其导入到 SQL Server 表中,其中包含以下列:char(10), varchar(512), nvarchar(512), nvarchar(512)。
使用 T-SQL、SSIS 或 C# SqlBulkCopy 类批量导入大约需要一天时间。
有没有更快的方法来加载这些数据?
或者是否有某种情况会减慢它的速度,我可以删除或更改它?
【问题讨论】:
-
批量导入是最快的方式
-
批量插入绝对是最快的。听起来可能是内存或 IO 限制,因为我在更短的时间范围内加载了更大的集合。是否可以选择并行拆分文件并加载到分区中?
-
您是否已经遵循documentation 中关于优化批量导入的建议?你有什么版本的 SQL Server?
标签: sql-server bulkinsert sqlbulkcopy