0

在 Angular 8+ 中,如果我们需要显示记录列表,我们将以分页方式显示结果。

我们拥有超过 100 万条记录,未来记录也会增加。

我使用 Spring Boot 和 MYSQL 作为数据库

但是最好的方法是什么

  1. 一次从服务器获取所有数据并在客户端处理分页。

  2. 一次获取 10 条记录并显示,当用户单击“下一步”按钮时,从服务器获取下 10 条记录。

4

3 回答 3

1

我强烈建议您使用变体 #2。

进行分页的主要原因并不是因为一次只在 UI 中显示几个条目是有意义的。相反,分页只允许您从大型数据集(例如您的数据集)中传输必要的条目。这极大地提高了性能并减少了必须从服务器发送到客户端的数据量。

变体 #1 的性能会很差,因为客户端必须获取所有 1,000,000 条记录才能仅显示其中的 10 条。这没有多大意义,直接违背了分页的想法和优势。

另一方面,变体 #2 只会获取实际显示的条目。它只会传输大约 0.00001% 的变体 #1 会传输的数据。

于 2021-05-24T14:23:42.997 回答
1

我认为与来自服务器的所有数据相比,您应该使用分页。

当您从服务器获取所有数据时,这是一项昂贵的操作,因为您提到您的应用程序有超过数百万条记录。

在需要时使用分页调用 API 并根据每页的分页请求获取数据。

于 2021-05-24T14:15:07.737 回答
0

我会在两者之间使用一些东西,加载可能 100 或 1000 条记录。但是一百万你的浏览器会耗尽内存,而你的用户会厌倦 10...

于 2021-05-24T19:05:29.400 回答