【问题标题】:How to bind DataGrid to display only 25 records of a table having more than 1000 records ..?如何绑定 DataGrid 以仅显示超过 1000 条记录的表的 25 条记录..?
【发布时间】:2011-02-25 20:09:49
【问题描述】:

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

【问题讨论】:

    标签: asp.net performance datagrid


    【解决方案1】:

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

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

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

    【讨论】:

      【解决方案2】:

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

      【讨论】:

        【解决方案3】:

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

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

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

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

        这是一个很好的资源:

        How to return a page of results from SQL?

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2010-09-10
          • 1970-01-01
          • 2014-07-09
          相关资源
          最近更新 更多