如何在UI上显示表中的100万个数据

时间:2015-02-19 09:43:13

标签: java javascript oracle algorithm data-structures

我有一个问题,这可能是数据增加时非常常见的问题 如果我有一个包含100万行的表 我想在浏览器上显示它。

解决此问题的最有效方法/技术是什么

我假设在用户向下滚动以查看更多数据时应该有分页或加载数据的概念,但是在此之前如何在内存中保存100万个数据,除非我查询表像id> x和id&lt ;(x + 500)批量获取500 ..

请分享有效的方法

由于

5 个答案:

答案 0 :(得分:6)

你真的不希望结果集有1000000行。即使你对它进行了分页,也没有人会坐下来阅读所有内容。只需限制(比如说1000),在页面上放一条消息,说结果被截断为1000行,并提供过滤。

答案 1 :(得分:0)

您应该查询仅加载要显示的数据。或者更好的解决方案是创建查询,返回"Page before" : "Actual page" : "Next page"的数据。所以如果你慢慢列出你的数据,它就会被缓存。如果你快速列出,你将不得不等待你的数据。

答案 2 :(得分:0)

我建议在开头加载2 * 500行。将显示前500个,然后将其从程序存储器中删除,其他500个将保持缓存状态,以便在用户向下滚动到下一页时加快显示过程。当用户向下滚动到下一页时,显示500行,从程序存储器中删除它们(也就是释放/删除数组),并从数据库请求下一个500,以便在用户滚动时缓存它们以供显示进一步,等等。

答案 3 :(得分:0)

您可以使用分页或滑块以及ajax。比如说,每个页面可以容纳50条记录。因此,基于下一页或prev页面的onclick事件,您将从ajax响应获得50行,然后显示它。所以,你一次只能获取50行。

答案 4 :(得分:0)

我正在使用分页在应用程序上显示我的结果集,因为有时数据以百万计,并且将所有数据发送到UI会使DOM变得沉重,从而导致运行缓慢和应用程序无响应。 对于读取视图,我很好,但是在编辑视图中,如果用户一次添加多个记录(成千上万)(这些记录实际上是从另一个数据源中提取的),我将如何处理该数据。