0

一段时间以来,我一直在考虑将我们当前的管理系统迁移到 JS 框架,今天我测试了 AngularJS。我真的很喜欢它的强大。我创建了一个演示应用程序(来源:https ://github.com/andyhmltn/portfolio-viewer ),它有一个“项目”列表并将它们显示在一个分页列表中,您可以实时订购/搜索。

我遇到的问题是弄清楚如何用更大的数据集复制这种行为。理想情况下,我希望有一个可排序/可搜索和分页的项目表,这些都是实时的。

我关心的部分是这个表至少有 10,000 多条记录。目前,这没有问题,因为它是一个 PHP 文件,它将查询限制在当前页面并将任何搜索选项附加到末尾。上面的演示只有大约 15 到 20 条记录。我想知道如果不一次将所有记录都拉到一个 JSON 请求中,用如此多的记录做同样的事情会有多难,因为这将是难以置信的减缓。

有没有人有任何想法?

4

2 回答 2

4

我习惯用 JavaScript 处理大型数据集,我建议您:

  • 使用分页(服务器端或客户端,取决于数据的实际量,见下文)
  • 使用Crossfilter.js对您的记录进行分组,并在您的 GUI 中采用多级架构(每月记录、双击、单击月份的每天记录等)

我经常使用的一个指标如下:

rowsAmount x columnsAmount x dataManipulationsPerRow

此外,考虑处理大型数据集和显示它们是两个非常不同的事情。

于 2013-09-10T12:12:10.263 回答
2

确实,在一个请求中拉出这么多行将是一个杀手。幸运的是,Angular 有ng-grid 组件,它可以进行服务器端分页(以及许多其他事情)。给定链接中提供了说明。

于 2013-09-10T11:43:18.177 回答