如何绑定DataGrid只显示有超过1000条记录的表的25条记录..?

时间:2010-05-31 03:23:23

标签: asp.net performance datagrid

我有一个datagrid控件,它绑定到一个包含1000多条记录的表。我想一次只显示25条记录。我在datagrid中使用了分页。但每次设置下一页索引时,都会再次触发查询。这需要很多时间。那么在这种情况下绑定数据以提高性能的最简单方法是什么呢?

3 个答案:

答案 0 :(得分:2)

我不建议使用缓存,因为第一次将整个数据返回到服务器。

您可以使用对数据库的自定义分页查询来提高性能。

假设您至少使用过SQL Server 2005, Here's a great article for your purpose with different benchmarking results

答案 1 :(得分:1)

您考虑过缓存数据集吗?那么你只需要在缓存为空或过期时查询数据。

答案 2 :(得分:1)

处理Page Changed事件时,需要提取新的页面信息。您需要创建一个以CurrentPageNumber和PageSize作为参数的存储过程。

这是您在关闭数据时已经提供的任何其他参数的补充。

在SP中,您将使用要返回的数据填充临时表或表变量(或者您可以使用CTE),还可以填充RowNumber。

根据您的CurrentPageNumber参数,您可以返回CurrentPageNumber * PageSize和(CurrentPgaeNumber + 1)* PageSize - 1之间的所有结果。

这是一个很好的资源:

How to return a page of results from SQL?