C#-SQL插入和更新速度
本文关键字:速度 更新 插入 C#-SQL | 更新日期: 2023-09-27 17:58:49
我有一个大约80000行的CSV文件,我正试图在C#应用程序中处理它,并对我的SQL数据库进行必要的更改。我在应用程序中读取CSV,这不会花很长时间,然后我从那里处理它。
对于CSV中的每个记录,我要么插入一个新记录,要么根据条件更新数据库中的现有记录(来自SQL select语句)。我只是使用C#内联SQL命令来进行选择、更新和插入。这个过程大约需要40分钟才能完成。
我想知道是否有任何大型SQL数据库更新和插入的最佳实践可以使过程更快。
提前感谢!
这是我使用过的最好的。
http://msdn.microsoft.com/en-us/library/system.data.sqlclient.sqlbulkcopy.aspx
非常非常快。
使用begin transaction(before)和commit(在所有工作之后)。如果您没有显式启动事务,那么对于每个命令,SQL都会隐式启动并完成事务,从而延迟进程(因此,80k行意味着80k个单独的事务,而所有命令都应该在一个事务中运行。)
您应该尝试使用backgroundWorker。。。当我不得不进行大量查询时,它帮助了我。。。
如何使用BackgroundWorker