繁体   English   中英

SQL数据库迁移-性能问题(将数据从一个数据库复制到另一个数据库)

[英]SQL Database Migration - Performance issue (Copying data from one database to another)

我创建了Windows应用程序(C#.Net),将数据从一个数据库迁移到另一个数据库。 在这里,我从数据库ABC中选择客户表的所有行,并将所有行插入到数据库XYZ的“经销商”表中。

我的问题是,当我从表中选择前1000行时,插入这1000条记录需要2分35秒。 但是当我从表中选择前5000行时,插入这5000条记录需要15分钟(而不是10分钟)

有什么方法可以优化性能,以便我可以非常快速地插入所有记录/数据。 (注意:这里,对于foreach循环中的每个记录,我创建了sqlparameter并插入sql语句)

我也使用了进度条,但是当我从Windows应用程序失去焦点时,它变得无响应(无响应作为窗口标题),并且我看不到进度条的状态/进度(但是插入数据的过程在背景,但不在用户界面中)。

如何解决这两个问题?

您可以为数百条记录创建单个sql命令并触发它,而不是为单个记录创建单个sql命令,这将作为批量工作。

http://blogs.microsoft.co.il/blogs/bursteg/archive/2007/12/05/sql-server-2008-t-sql-insert-multiple-rows.aspx

对于进度条,您可以使用线程进行更新。

http://msdn.microsoft.com/en-us/library/ms951089.aspx

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM