如何提高这个简单的gridview显示程序的性能?

问题描述:

我正在运行使用ASP.NET构建的网页,C#& DevExpress。如何提高这个简单的gridview显示程序的性能?

有与1页大小,并用简单的SELECT语句数据源的网格视图:

SELECT * FROM [SYS_IFCError] ORDER BY [CalledDateTime] DESC

的屏幕还使用标题过滤器,列过滤器和添加了包含自定义命令按钮的列。

只需要显示500多条记录,每次加载大约需要47秒的时间。

它是否每次载入500条记录?

有什么办法可以改善这种性能吗?

+0

不使用'*',尽量把特定的列并且还通过上述计算策略当您运行SQL Server,它需要多少时间在此查询可能导致SQL注入 – Webruster

+0

?我不敢相信这会花费那么多时间,所以你在网页上还有其他问题......有些人在每一行的服务器上反复调用一次?一些额外的巨大视图状态打开? – Aristos

+0

另外,你有多少记录在桌面上? – Aristos

是的,有一种方法可以提高性能。最好的办法是在sql server上实现分页算法。基本上,你会写一个接收页面大小和页面索引的存储过程,并返回你需要的页面。在那种情况下,你还必须在过程中进行过滤和排序。代码片段相当常见,您应该在查找时遇到问题。

然而,这就是说,我必须说47秒的500条记录,即使分页不在你的数据库服务器上,也是如此。所以在我看来,你的第一步就是准确地找出你的瓶颈并从那里出发。

假设(500)记录是您需要的页面大小,有几种方式来提高性能:在选择statment使用*

  1. 避免,具体列名替换它。
  2. 排除您的select语句中的任何二进制数据,如图像。
  3. 按列添加索引
  4. 最后使用SSMS中的Excution plan来查看您的查询执行图,这将有助于您改进查询。