从JSON(db查询结果)加载一个大型javascript数组而不使页面崩溃?

从JSON(db查询结果)加载一个大型javascript数组而不使页面崩溃?,javascript,arrays,browser,crash,large-data,Javascript,Arrays,Browser,Crash,Large Data,我试图从数据库查询中分块加载一百万行,并将其保持在同一页面上,但分页。目前,我有一个按钮,它使用介于之间的限制检索50000个块,然后将其附加到表的末尾。查询结果被写入JSON文件,该文件被检索到页面上的分页表中 但是,浏览器在加载后不久就会崩溃。目前,有一个LoadMoreResults按钮,将新查询附加到现有JSON文件上,然后将该文件加载到分页表中的行数组中。然而,当JSON文件大小达到160MB(约25万行)时,浏览器就会崩溃 目前,my table已经分页,从数组中检索,并使用angu

我试图从数据库查询中分块加载一百万行,并将其保持在同一页面上,但分页。目前,我有一个按钮,它使用介于之间的限制检索50000个块,然后将其附加到表的末尾。查询结果被写入JSON文件,该文件被检索到页面上的分页表中

但是,浏览器在加载后不久就会崩溃。目前,有一个LoadMoreResults按钮,将新查询附加到现有JSON文件上,然后将该文件加载到分页表中的行数组中。然而,当JSON文件大小达到160MB(约25万行)时,浏览器就会崩溃

目前,my table已经分页,从数组中检索,并使用angularJS filter对庞大数组的ng repeat进行过滤,以便在表上每页仅显示1000个结果,load more查询将新结果附加到表的末尾。追加的原因是因为单个大型查询花费的时间太长,我希望能够访问以前加载的结果(出于csv导出的原因),有没有办法对一百万行进行分页而不使页面崩溃


提前感谢,希望您能提供帮助。

使用较小的代码片段并使用本地存储来保存代码。此外,运行一个计数器,计算代码中的页数,以了解如何分解代码

我建议您将其分成更小的块,并且只在新页面请求上执行db查询,即使用
LIMIT X,X
。。。这样,您只需先运行一次计数,就可以看到将有多少行/页…试图将大量信息加载到内存中是导致浏览器崩溃的原因。您可能希望加载每个页面并将其保存到本地存储。这将释放大量内存,希望不会使你的应用程序崩溃。正如webeno所说,您可能应该做的是,如果您打算通过web界面使用它,使用分页,甚至是向下滚动时加载更多内容的分页。如果您这样做,那么您必须记住在通过某一点后应该删除哪些条目,然后再重新添加。这是因为没有它,浏览器将加载大量数据。分页,如果需要,执行搜索功能。如果您需要其他地方的所有数据,请考虑将其导出为文件。但你的问题是模棱两可的:X感谢大家迄今为止的帮助,澄清问题。我正在检索50000个部分中的数据,这些数据附加到页面上分页表的最后一页,这实际上是过滤js数组,以便在给定时间仅显示X行。从表面上看,我得到的建议是,在给定时间只在页面上新页面请求的行范围之间显示特定实例。但是,这样做会阻止我导出上一页的结果,因为除非我转到该页,否则它实际上会擦除它。如果我想从一开始就导出所有内容,直到现在,我该如何处理越来越多的页面?如果从加载更多页面开始向表中添加更多页面,我会为每个新的分页页面创建新的本地存储变量吗?假设我有20个页面,每次加载更多页面时,我会向分页表追加20个页面。我会为它再创建20个新的本地存储变量吗?所以每次我选择一个页面时,我都会从一个本地存储变量加载HTML标记,每次我加载更多的页面时,它都会创建更多的本地存储变量?