![](/img/trans.png)
[英]What are the pitfalls of inserting millions of records into SQL Server from flat file?
[英]What is the proper way to insert millions of records from a csv file into a SQL Server database?
我必须将.csv
文件中的4000万条记录插入数据库,以下是我遵循的过程。
Windows Service 1:
SqlBulkCopy
将有效记录插入成功表(中间表)中。 Windows服务2。
Windows Service 1大约需要30-40分钟,而Windows Service 2大约需要5个小时才能完成任务(最短时间)。 我有2种方法可以做到这一点,但无法确定哪个更好,也欢迎提出建议。
我最大的疑问是,我们正在过程中使用事务,并且将与它异步工作,因为按照我的假设,使用事务会锁定表,而其他进程则需要对其进行处理。
我认为您为此工作使用了错误的工具。 C#应用程序可能会解决问题,但是使用集成服务可以更有效地完成此任务。
我在这里猜测,但是中间的这些表是转换还是检查,或者是批量导入?
SSIS可以使用它的日志限制和SQL批量导入工具来完成所有这些事情。 我目前正在进行医院数据导入,每天晚上大约有8,000,000条记录,这花了我几分钟而不是几个小时。
很好看的太各地的如此大的数据输入了SQL的交易是这篇文章
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.