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

C# 如何在这个简单的gridview显示程序中提高性能?,c#,asp.net,devexpress,C#,Asp.net,Devexpress,我正在运行一个使用ASP.NET、C#和DevExpress构建的网页 有一个页面大小为1的网格视图和一个带有简单select语句的数据源: 按[CalledDateTime]说明从[SYS\u IFCError]订单中选择* 该屏幕还使用标题过滤器、列过滤器和包含自定义命令按钮的添加列 仅需显示500多条记录,每次加载屏幕大约需要47秒 它每次装载500条记录吗 有什么方法可以提高性能吗?是的,有一种方法可以提高性能。最好的方法是在SQLServer上实现分页算法。基本上,您将编写一个存储过程

我正在运行一个使用ASP.NET、C#和DevExpress构建的网页

有一个页面大小为1的网格视图和一个带有简单select语句的数据源:

按[CalledDateTime]说明从[SYS\u IFCError]订单中选择*

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

仅需显示500多条记录,每次加载屏幕大约需要47秒

它每次装载500条记录吗


有什么方法可以提高性能吗?

是的,有一种方法可以提高性能。最好的方法是在SQLServer上实现分页算法。基本上,您将编写一个存储过程来接收页面大小和页面索引,并准确返回所需的页面。在这种情况下,您还必须在过程中进行过滤和排序。代码段相当常见,您应该很难找到它

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

假设页面大小需要(500)条记录,有几种方法可以提高性能:

  • 避免在select语句中使用
    *
    ,将其替换为特定的列名称
  • 从select语句中排除任何二进制数据(如图像)
  • 将索引添加到order by列
  • 最后,使用SSMS中的执行计划查看查询执行图,这将帮助您改进查询

  • 不要使用
    *
    ,尝试使用特定列,并且通过上述方法可能导致SQL注入当您在SQL Server上运行此查询时,需要多长时间?我不敢相信这会花费这么多时间,所以你在页面上还有一些其他问题。。。。有些人在每行服务器上反复呼叫?一些超大的viewstate打开了吗?还有,您的表上实际有多少条记录?