Dot net应用程序无法处理更多5000条记录

时间:2012-01-09 11:57:09

标签: performance optimization graph ssis

我们正在开发一个.net桌面应用程序。在GUI上,有许多选项卡和面板。图形选项卡,图像选项卡,结果网格选项卡等。任务是获取大约50,000条记录并能够获取其不同的视图。例如,可以有两列图形,可以通过网格中的结果,并可以查看记录的图像。

应用程序已开发但其性能太差。我们试图将其目标锁定在 50,000 记录上,但其响应会在大约5000条记录上得到响应。

事实:

1-查询很复杂,包括连接数。在avg 10到12表加入。有时子查询表作为连接。返回结果大约需要8到10秒。    如何在这个级别上实现绩效。      - 正确使用索引。

可以在上下文中使用SSIS(Sql Server Integration Services)帮助吗?

2-图表支持的数据量非常少,并开始在大约4000条记录上获得最佳数据。可以做些什么来提高图表的性能?

涉及图表时,不能使用Pagging。

1 个答案:

答案 0 :(得分:1)

请发布您的架构和示例查询,以便对其进行改进。

至于图表性能,这里有一些一般的性能提示(假设是WinForms):

图表对象是否有.BeginUpdate().BeginDataUpdate()以及相应的.EndUpdate() / .EndDataUpdate()方法?如果有那些那么你应该使用它。这同样适用于GridControl。

您是将这些项目逐个添加到图表/网格(或其数据源)中,还是调用.AddRange()或设置data source / data bindings。如果你要逐个添加项目,那么它会经常重复翻译列表,这是.NET 1.1 ListView控件的常见问题,因为下面的项目存储在一个数组中,每个.Add(..)调用都会重新创建数组,因此很快就会O(n^2)添加项目。

您使用的是什么图形和网格控件?