【问题标题】:Load more than 100000 records within 2 or 3 seconds using AngularJS and web API [closed]使用 AngularJS 和 Web API 在 2 或 3 秒内加载超过 100000 条记录 [关闭]
【发布时间】:2017-08-29 10:55:23
【问题描述】:

我正在尝试使用带有 Web API 的 AngularJS 加载超过 100000 条记录。有可能吗?

我已经在使用 AngularJS Datatable,它工作正常,但加载数据需要更多时间。

所以我需要一个替代解决方案。

【问题讨论】:

  • 你想一次加载所有这些吗?
  • 你应该使用分页。什么用户想要一次阅读全部 100000 个
  • 加载什么的记录,从哪里到什么?为什么也可能有用。
  • @devqon 同意,但是用户也不想翻阅 100000 条记录,即至少 500 页。
  • 是的,它应用 DOM(排序分页和搜索)需要更多时间 UI 会挂起

标签: angularjs asp.net-web-api2


【解决方案1】:

最好先看看你的代码,但一般来说,你需要检查你的方法并提出以下问题:

  1. 检索记录的时间复杂度是多少?可以改进吗(例如从 O(n) 到 O(log(n))

  2. 我真的需要加载 10 万条记录吗?这取决于您的应用程序逻辑,但例如对于聊天应用程序,我会加载最后 10 条消息,并在用户向上滚动时要求加载另外 10 条消息。

  3. 我能否通过在我的 JS 或 ASP.net 后端使用 Promises/Future 获益? Promise 是一个非常重要的概念,它允许您异步运行任务。

  4. 我的服务器够好吗?与上述 3 相比,这是最不重要的,但请检查 RAM 和 CPU 等规格。 SSD/闪存驱动器确实倾向于更快地运行应用程序。

【讨论】:

  • +1 建议 2。关于建议 1:检索/发送/反序列化 n 条记录几乎总是至少 O(n)(除非例如,您有稀疏数据并且您只能发送非零个)
  • 感谢您的建议。
猜你喜欢
  • 2013-04-04
  • 2018-05-23
  • 1970-01-01
  • 2021-03-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多