LINQ向SQL中插入大量数据的更快方法?

LINQ向SQL中插入大量数据的更快方法?,sql,performance,linq,insert,Sql,Performance,Linq,Insert,我在一些文件中有大量数据,这些数据甚至不能存储在内存中。现在我正在解析数据,在解析每个实体之后,解析类会引发一个事件,在这个事件中,我使用LINQ将一个项插入到相应的数据库表中。当解析整个文件(也尝试了所有文件)时,任何插入都会提交到数据库。问题是这需要的时间太长了。我让程序运行了一整晚,甚至都没有完成。磁盘上的数据约为1.5gb。如何加快插入速度?我正在利用并行化进行解析,解析根本不需要时间,正是插入造成了一个巨大的瓶颈。大量插入、管道模型和总体代码效率都有帮助。除非你是在一台拥有快速互联网的

我在一些文件中有大量数据,这些数据甚至不能存储在内存中。现在我正在解析数据,在解析每个实体之后,解析类会引发一个事件,在这个事件中,我使用LINQ将一个项插入到相应的数据库表中。当解析整个文件(也尝试了所有文件)时,任何插入都会提交到数据库。问题是这需要的时间太长了。我让程序运行了一整晚,甚至都没有完成。磁盘上的数据约为1.5gb。如何加快插入速度?我正在利用并行化进行解析,解析根本不需要时间,正是插入造成了一个巨大的瓶颈。

大量插入、管道模型和总体代码效率都有帮助。除非你是在一台拥有快速互联网的快速机器上,否则这永远不会少于30分钟。

试着看看大部分时间都花在了什么地方!并行化在这里可能很难实现。您应该已经尝试在不使用多线程的情况下提高性能了。您需要查看批量插入-不使用Linq。Linq什么?LINQ到SQL?实体框架?我会使用这里推荐的
SqlBulkCopy
:也许你应该看看这篇文章,