首页 > 解决方案 > 我应该在哪里排序和过滤?后端还是前端?

问题描述

关于是否应该在前端或后端进行排序和过滤,我遇到了概念冲突。

一些人建议逻辑应该在后端并且数据数量有限,即)如果您拥有数百万个数据集以减少页面加载时间,则应一次向客户端提供 10-100 个结果。我感到困惑的是,如果有很多客户端同时排序和过滤(即 100 个用户)如果是这种情况,那么您必须不断地对数百万条记录进行排序和过滤 100 次,我认为这会减慢服务器。

如果我假设我的数据集在 10000 - 100000 左右,并且我有 10-50 个用户同时使用该应用程序,并且如果初始时间负载与私有企业应用程序(即)ERP 无关,那么应该在哪里过滤和排序逻辑生活?

标签: djangoreactjsgraphql

解决方案


您的问题没有一个正确答案,以下是您问题的优缺点。

在服务器端排序:

  1. 通过对数据进行排序的服务器开销。

  2. 由于您已经在发送过滤数据,因此用户的数据传输更少。

  3. 如果排序需要大量时间,用户体验可能会很差,用户会在空白屏幕上等待。

用户端排序:

  1. 增加了服务器和用户的网络使用率,因此服务器的运行时间很长。

  2. 可能会提供稍微更好的用户体验,它可能会增加页面加载时间的整体增加,但用户的屏幕上会有一些数据。

最好的将是两全其美的用户,而不是坚持一个。

您可以在服务器级别使用缓存,这可能会提高您的应用程序性能。


推荐阅读