javascript - 如何更快地显示 20000 行数据?
问题描述
我正在使用 datatables jquery 来显示带有 nodejs 的表以对数据库进行查询。目前显示20000行数据需要18s
当我直接查询数据库时,显示数据需要不到一秒钟的时间。
解决方案
首先,即使可以在一个网格中显示 20K 条记录,您的用户也绝对不会有兴趣一次性查看所有这些记录。而是在 UI 网格中显示一小组数据并提供搜索、排序和分页选项。
同时使用服务器端 (NodeJS) 和客户端 (jQuery) 分页。一次从数据库中获取一页数据,让客户端一次请求一页。使页面大小可配置。
如果服务器端性能(尤其是数据库查询)不是问题,那么一次性获取所有 20K 数据。通过避免分页来降低服务器端的复杂性。但是,仍然在客户端实现分页以避免呈现问题并提高可用性。请注意,通过一次性获取所有数据,服务器和客户端进程的内存消耗都会增加。
如果它今天运行良好,那么如果您的数据有可能随着时间的推移而增长,它肯定会崩溃。如果没有,您仍然想一次获取所有 20K 记录并显示,那么继续,祝你好运:)
推荐阅读
- java - 使用时区转换导出数据
- javascript - 如何从数组中删除特定的嵌套对象?
- javascript - Error: SyntaxError: Unexpected token C in JSON at position 33 in rule attachments while doing on google firebase
- arrays - 通过指向 2D 字符数组的指针访问。警告:数组初始值设定项中的多余元素
- angular - 类型脚本错误 TS2554:预期 0 个参数,但在离子应用程序中得到 1 个
- ruby-on-rails - 使用 rails ActiveStorage 上传到 AWS S3 的视频在生成的链接上调用(单击)时下载而不是播放
- python - Python:没有外部库的烧瓶简单任务队列不起作用
- python-3.x - 熊猫找到最大列,从另一列中减去并替换值
- svg - 从 SVG 文件夹创建一个 Eleventy 集合
- xml - SSRS 报告 - 从 API 获取数据