java - 分页与来自服务器的所有数据
问题描述
在 Angular 8+ 中,如果我们需要显示记录列表,我们将以分页方式显示结果。
我们拥有超过 100 万条记录,未来记录也会增加。
我使用 Spring Boot 和 MYSQL 作为数据库
但是最好的方法是什么
一次从服务器获取所有数据并在客户端处理分页。
一次获取 10 条记录并显示,当用户单击“下一步”按钮时,从服务器获取下 10 条记录。
解决方案
我强烈建议您使用变体 #2。
进行分页的主要原因并不是因为一次只在 UI 中显示几个条目是有意义的。相反,分页只允许您从大型数据集(例如您的数据集)中传输必要的条目。这极大地提高了性能并减少了必须从服务器发送到客户端的数据量。
变体 #1 的性能会很差,因为客户端必须获取所有 1,000,000 条记录才能仅显示其中的 10 条。这没有多大意义,直接违背了分页的想法和优势。
另一方面,变体 #2 只会获取实际显示的条目。它只会传输大约 0.00001% 的变体 #1 会传输的数据。
推荐阅读
- android - 如何将数据从活动传递到类
- visual-studio - Visual Studio - 范围图 - 为每个类别组添加背景颜色
- performance - 从固定长度文件中删除特殊字符,如制表符 (\t) 和换行符 (\n)
- graphql - 如何按 Graphql 查询结果分组
- html - 通过固定编号的 CSS 打破项目?
- java - PrintWriter 在执行 close() 函数之前擦除文件内容
- java - WebSockets 请求中请求的资源上不存在“Access-Control-Allow-Origin”标头
- python - 如何使用 LINE 聊天机器人“reply_message 功能”向用户回复多条消息
- javascript - 在填充有 jQuery val() 的 jQuery 日期选择器上触发“更改”事件不起作用
- html - 事务性电子邮件 - Magento 1.9 中的默认样式和变量