【问题标题】:load large amount of data in asp.net web page在asp.net网页中加载大量数据
【发布时间】:2012-07-16 05:23:54
【问题描述】:

我在 SQL Server 中有一个包含超过 12000 行的表。当我将所有行加载到 asp.net 网页中时,加载所有行需要 10 到 15 分钟。

请帮我在几秒钟内加载数据..

【问题讨论】:

  • 简单:不要一次加载所有行!使用服务器端分页 - 一次只加载 10、50、100 行 - 用户无法处理更多。
  • 看看 IIS 压缩 technet.microsoft.com/en-us/library/cc771003(WS.10).aspx 就像 marc_s 说的,没有人喜欢一次读取那么多数据。如果用户真的想要所有这些,请为他们提供下载。
  • 是的,你是对的。实际上我这样做是因为我想在所有记录中搜索数据,并且我正在使用数据集的行过滤器来搜索当前加载的项目。但是现在我得到了它..通过在视图状态中传递查询并在表的所有记录中搜索数据来加载前 100 条记录和搜索记录。

标签: asp.net


【解决方案1】:

流程的哪个部分花费的时间最多?此操作有许多不同的阶段:

  1. SQL Server 中的查询执行时间。
  2. 将时间从 SQL Server 传输到数据读取器(ADO.NET?通过网络?)
  3. 在 ASP.NET 中将数据绑定到网格。
  4. 将呈现的 HTML 传输到客户端。

只有准确知道什么是慢,才能正确优化。

【讨论】:

    【解决方案2】:

    解决方案:

    1. 您可以使用qzip。显然,它不会将加载时间缩短到几秒钟。但是您会看到加载时间得到了很好的改善。

    2. 编写一个处理程序,它返回一组 100 的结果并使用 jQuery 异步显示结果,就像在 Facebook 中一样,当您向下移动时,会提供更多故事,您可以为您的网站做类似的事情,或者您可以有一个“加载更多”按钮,除了用户必须按下“加载更多”按钮之外,它做同样的事情。

    注意:实现上述内容并不难。

    【讨论】:

      【解决方案3】:

      您可能需要找到支持按需virtual paging 的第三方网格控件。

      【讨论】:

        猜你喜欢
        • 2011-02-18
        • 1970-01-01
        • 1970-01-01
        • 2016-12-02
        • 2011-05-21
        • 2011-04-28
        • 1970-01-01
        • 2023-03-23
        • 1970-01-01
        相关资源
        最近更新 更多