如何在 UI 上显示来自 table 的 100 万条数据

how to display 1 million data from a table on UI

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

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

我假设应该有一个分页或加载数据的概念,当用户向下滚动以查看更多数据时,但是直到那时如何在内存中保存 100 万个数据,除非我查询 table像 id>x 和 id<(x+500) 以 500..

为一组获取数据

请分享一个有效的方法

谢谢

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

我建议在开头加载 2 * 500 行。将显示前 500 个,然后您将其从程序内存中删除,另外 500 个保留在缓存中,以便在用户向下滚动到下一页时加快显示过程。当用户确实向下滚动到下一页时,您显示 500 行,从程序内存中删除它们(又名 release/delete 数组),并从数据库中请求下一个 500 行以尝试缓存它们以便在用户进一步向下滚动,依此类推。

您可以将分页或滑块与 ajax 一起使用。比如说,每页可以容纳 50 条记录。因此,根据下一页或上一页的 onclick 事件,您将从 ajax 响应中获得 50 行,然后显示它。所以一次只能获取 50 行。

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

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