我正在开发一个使用MongoDB,java和angularJS的项目。我面临的情况是,我必须一次在表格视图中显示数千条记录。我有两个选择:
我应该在每次点击分页时调用一个web服务,根据分页返回100条记录。
我会立即显示所有记录,并在角度中应用过滤器以在页面上显示100个。
就性能而言,哪种方法更好?
答案 0 :(得分:0)
您永远不会了解客户端计算机,因此您无法确定客户端处理记录的速度或速度。因此,通过提供服务器端分页,使客户端负载最小化对我来说更有意义。
您可以更好地控制服务器端的内存/ CPU,因此您可以随时在服务器上进行更好的处理。
如果您可以在可以放在客户端和服务器上的处理负载上取得平衡,那么您可以获得最佳效果。
答案 1 :(得分:-1)
要获取所有记录供以后使用,您可以进行无限查询,这比有限的部分慢。同时,您尝试将所有数量的记录放在客户端内存中,如果该堆非常庞大,可能会导致不必要的性能问题。在另一方面,如果索引覆盖了过滤器参数甚至主要选择 - 您永远不应该考虑立即获取整个结果。 MongoDB查询执行速度非常快,不应被视为应用程序的瓶颈。您的情况取决于记录总重量的角度以及构建正确查询的可能性。