在网页上加载/显示大量数据

Posted

技术标签:

【中文标题】在网页上加载/显示大量数据【英文标题】:Loading/Displaying large amount of data on webpage 【发布时间】:2011-02-18 14:27:17 【问题描述】:

我有一个网页,其中包含一个用于显示大量数据的表格(平均从 2,000 到 10,000 行)。 此页面需要很长时间才能加载/呈现。这是可以理解的。

问题是,当页面加载 PC 的内存使用量猛增时(我的测试系统上的 500mb 正在被 iexplorer 使用),整个 PC 停止运行,直到完成,这可能需要一两分钟。 IE一直挂到完成,切换到另一个正在运行的程序也是一样的。

我需要解决这个问题 - 理想情况下我想完成两件事:

1) 分别加载页面的各个部分。所以页面可以在没有大数据表的情况下进行初始渲染。加载 div 将被放置在那里,直到它准备好。

2) 渲染时不要占用太多内存或本地资源 - 这样至少他们可以同时使用不同的选项卡/应用程序。

我将如何同时做这两个或其中一个?

我是一名应用程序程序员,所以我仍然对我可以在网络环境中做的事情有点兴奋。

大家干杯。

【问题讨论】:

【参考方案1】:

关于第一部分,称为Ajax:显示没有表格的页面,或者有一个空表格,然后使用ajax请求获取数据(html或任何数据格式)并显示。

关于第二部分,您需要一种称为延迟加载的东西:仅在用户需要时才加载数据的可能性,即当它位于文档的可见部分时。您可以查看 this question 了解能够处理数百万行的 DataGrid 库。

【讨论】:

【参考方案2】:

两个基本选项:

分页 延迟加载(用户向下滚动时加载)。见this jQuery plugin

【讨论】:

【参考方案3】:

你可以尝试几件事:

Loading data Asynchronously 和 Paging

【讨论】:

第一个链接现在已经失效,第二个链接是 ac# 文章,因此投了反对票,我知道这是一个古老的答案,事情确实过时了,否则找不到 Loading data Asynchronously 文章我会更新链接。

以上是关于在网页上加载/显示大量数据的主要内容,如果未能解决你的问题,请参考以下文章

如何优化将大量元素动态添加到网页中

显示大量数据

在网页之间传递大量数据

js-页面需展示大量图片时,采用lyz.delayLoading.min.js,图片在屏幕时加载显示

一个页面上有大量的图片,加载很慢,你有哪些方法优化这些图片的加载?

HSQLDB Bulk Load 大量数据