我创建了Windows应用程序(C#.Net)来将数据从一个数据库迁移到另一个数据库。 在这里,我从Database ABC中选择所有客户表行,并将所有行插入数据库XYZ的Dealers表。
我的问题是,当我从表中选择前1000行时,插入这1000条记录需要2分钟和35秒。 但是当我从表中选择前5000行时,需要15分钟(不是10分钟)来插入这5000条记录
有没有办法优化性能,以便我可以非常快速地插入所有记录/数据。 (注意:这里为foreach循环中的每个记录,我创建了sqlparameter并插入了sql语句)
我也使用了进度条,但是当我从我的Windows应用程序失去焦点时,它变得无响应(没有响应为窗口标题),我看不到进度条的状态/进度(但是插入数据的过程)正在后台工作,但在UI中工作。)
如何解决这两个问题?
答案 0 :(得分:0)
你可以为100条记录创建单个sql命令并触发它,而不是单个sql命令用于单个记录,这将作为批量运行。
对于进度条,您可以使用线程进行更新。