使用jquery插件进行分页,当加载50k时记录导致整个系统冻结.如何解决这个问题

Using jquery plugin for pagination, when load 50k records it causing entire system to freez. how to solve this?

本文关键字:冻结 系统 何解决 问题 解决 分页 插件 jquery 记录 50k 加载      更新时间:2023-09-26

我需要做的是,当用户在输入框中输入数字并单击按钮以获取数据时,然后调用java方法返回Array列表的记录,现在jsp页面中的数据需要以表格式存储。通过jquery插件添加分页,搜索和排序。

我从方法中得到的数据约为50k(记录)。

我按照这个链接添加分页和所有,https://datatables.net/examples/basic_init/alt_pagination.html

这个问题,花大约2到3分钟来加载页面,导致系统挂起。

从方法中得到的数据更快,即在几秒钟内。

如果是500到1000条记录,则显示速度更快。当数据增加时,它会导致整个系统停止。提示继续或停止(js)。

错误:提示继续或停止脚本编写。此页上的某个脚本可能正忙,或者已停止响应。您可以现在停止脚本,也可以继续查看脚本是否会完成。

脚本:https://code.jquery.com/jquery-1.11.3.min.js: 4

我尝试没有任何脚本,它需要最多2到3分钟....

对于这个问题有可行的解决方案吗?

谢谢。

显然您正在使用客户端处理模式。使用服务器端处理模式,只返回当前页面的数据。

从手册:

每种模式都有自己的优点和缺点,但是您应该选择哪种模式的关键指示符是基于表中的行数。根据经验,如果处理少于10,000行,请使用客户端处理,大于100,000行则使用服务器端处理。两者之间是一个灰色地带,你需要根据应用的性质和你希望显示的数据做出决定。

缺点是需要在服务器端脚本中实现排序、过滤和分页。然而,有针对不同语言的库。例如,DataTables发行版附带了PHP帮助类(ssp.class.php)。