我应该在哪里分类和过滤?后端还是前端?

时间:2019-04-06 09:40:40

标签: django reactjs graphql

关于在前端还是后端进行排序和筛选,我遇到了概念上的冲突。

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

如果我假设我的数据集约为10000-100000,并且我有10-50个用户同时使用该应用程序,并且如果初始时间负载无关紧要,因为它就像一个私有企业应用程序一样,即ERP),应该在哪里过滤和排序逻辑?

1 个答案:

答案 0 :(得分:1)

对于您的问题,没有一个正确的答案,以下是针对您问题的利弊。

在服务器端排序:

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

  2. 由于已发送过滤后的数据,因此用户的数据传输量减少。

  3. 如果排序花费大量时间,用户体验可能会很糟糕,用户将等待空白屏幕。

在用户端排序:

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

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

最好是两全其美,而不是固守一个。

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