我正在运行使用ASP.NET构建的网页,C#&的DevExpress。
网格视图的页面大小为1,数据源的选择语句很简单:
SELECT * FROM [SYS_IFCError] ORDER BY [CalledDateTime] DESC
屏幕还使用标题过滤器,列过滤器和包含自定义命令按钮的添加列。
只需显示500多条记录,每次加载屏幕大约需要47秒。
每次加载都会获得500条记录吗?
有没有办法改善这种表现?
答案 0 :(得分:0)
是的,有一种方法可以提高性能。最好的方法是在sql server上实现分页算法。基本上,您将编写一个接收页面大小和页面索引的存储过程,并返回您需要的页面。保持原样,在这种情况下,您还必须在过程中进行过滤和排序。代码片段相当普遍,您应该在找到它时遇到问题。
然而,话虽如此,我必须对500条记录说47秒,即使分页不在您的数据库服务器上也是方式,方式很长。所以在我看来,你的第一步就是确切地指出你的瓶颈并从那里开始。
答案 1 :(得分:0)
假设(500)记录是您对页面大小的需求,有几种方法可以提高性能:
- 避免在select statment中使用
*
,请将其替换为特定的列名称。- 从select语句中排除任何二进制数据,例如图像。
- 按列添加索引
- 最后在SSMS中使用执行计划来查看您的查询执行地图,这将有助于您改进查询。
醇>