首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >AngularJS:一次加载所有数据,而不是使用数据库,只加载部分数据。哪个更好?

AngularJS:一次加载所有数据,而不是使用数据库,只加载部分数据。哪个更好?
EN

Stack Overflow用户
提问于 2015-05-28 17:42:09
回答 2查看 831关注 0票数 1

我必须在网页上显示存储在ERP中的产品。ERP可以生成包含所有产品的XML或JSON文件。网页需要分页、排序或按属性过滤等功能。目前,我认为最简单的方法是在AngularJS中加载整个文件,然后迭代所有项并使用它。产品的数量限制在500种左右。我认为这是最简单的原因是因为客户端每天都会以这种方式更改信息,这样我就不必为数据库编写导入/同步过程。

但我有点担心性能。排序、过滤、分页等对于数据库来说都是非常快的事情(可能是MongoDB,因为数据结构非常简单)。

我能期待严重的性能问题吗?这可行吗?或者我应该在ERP和前端之间放置一个数据库来完成繁重的任务?

EN

回答 2

Stack Overflow用户

发布于 2015-05-28 18:18:10

唯一确定的方法是自己测试它,这就是我会做的。答案通常是,“视情况而定”。你说它大约有500种产品,如果每种产品只有一个产品名称,那么一个数据库就太夸张了。Angular对这个数量非常满意。但是,如果每个产品都有大量的属性和嵌套数据,那么文件本身就可能非常大,甚至可以加载到每个页面加载。所以,这要看情况..

我想说的是:

  • 将文件从ERP导出为JSON
  • 创建样板angular应用程序
  • 将JSON文件作为资源文件
  • 创建一个简单的中继器并将这些对象抛出到DOM

<代码>F29

现在,您可以轻松地尝试过滤、排序、分页等操作。测试浏览器的性能和加载时间是否符合您的要求。

票数 1
EN

Stack Overflow用户

发布于 2015-05-28 18:28:05

我认为数据传输不会有性能问题,因为JSON文件中只有500个元素。但是,在使用AngularJS显示这500个元素时,您可能会遇到性能问题。

代替分页,你可以用AngularJS签出“无限滚动”,这是一个很好的结果显示性能的解决方案。查看这篇文章:http://www.williambrownstreet.net/blog/2013/07/angularjs-my-solution-to-the-ng-repeat-performance-problem/

不,我不同意将数据库放在中间。您正试图将其用作缓存,但您会遇到比解决方案更多的问题,因为由于您只有500个元素,因此根本无法获得性能。以及另一个增加的问题:数据库维护;)

干杯

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30502850

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档