首页 > 解决方案 > 如何更快地显示 20000 行数据?

问题描述

我正在使用 datatables jquery 来显示带有 nodejs 的表以对数据库进行查询。目前显示20000行数据需要18s

当我直接查询数据库时,显示数据需要不到一秒钟的时间。

标签: javascriptsqlnode.jsmariadb

解决方案


首先,即使可以在一个网格中显示 20K 条记录,您的用户也绝对不会有兴趣一次性查看所有这些记录。而是在 UI 网格中显示一小组数据并提供搜索、排序和分页选项。

同时使用服务器端 (NodeJS) 和客户端 (jQuery) 分页。一次从数据库中获取一页数据,让客户端一次请求一页。使页面大小可配置。

如果服务器端性能(尤其是数据库查询)不是问题,那么一次性获取所有 20K 数据。通过避免分页来降低服务器端的复杂性。但是,仍然在客户端实现分页以避免呈现问题并提高可用性。请注意,通过一次性获取所有数据,服务器和客户端进程的内存消耗都会增加。

如果它今天运行良好,那么如果您的数据有可能随着时间的推移而增长,它肯定会崩溃。如果没有,您仍然想一次获取所有 20K 记录并显示,那么继续,祝你好运:)


推荐阅读