为什么同一软件花费的时间比以前多?

时间:2013-06-19 07:28:56

标签: c# database winforms performance sql-server-2008

我不确定这个问题是否在本网站提出。但我很无奈。

我为我的办公室开发了一个win form应用程序,它将数据从文本文件导入到数据库表中。它现在运行了大约6个月。但最近用户抱怨我,该应用程序花费的时间比以前花费的时间多得多。例如,甚至一个月前,将大约100万个数据导入数据库大约需要10分钟。但最近,相同版本的应用程序大约需要30分钟才能导入大量数据。

我想,这不是软件问题(即使在30分钟内成功导入数据)。如果是这样,还有什么其他问题会导致这种问题?

我使用VS2010 C#(目标框架2.0)和MS SqlServer 2008数据库开发了该软件。

2 个答案:

答案 0 :(得分:3)

你是对的,这不是软件问题。你需要看看

  1. 是否存在网络问题?可能不是,但你需要排除它
  2. 当您开始将大量行导入已经包含大量行的表时,由于现有索引,您可能会遇到问题,因为每次添加行时都必须更新这些行。假设您已经在使用批量导入,则需要在导入数据时禁用索引,并在导入后重新启用它。
  3. 不确定您的导入程序究竟是做什么的,但您可以尝试使用SSIS,这是基于这些过程而构建的。

答案 1 :(得分:0)

这很可能是数据库调优问题。查看在您的数据库中触发的SQL查询,并仔细查看是否缺少索引。正确的索引可以极大地提高性能。另请参阅索引碎片整理。