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

Django 我应该在哪里分类和过滤?后端还是前端?,django,reactjs,graphql,Django,Reactjs,Graphql,在我应该在前端还是后端进行排序和筛选的问题上,我遇到了概念上的冲突 一些人建议,逻辑应该在后端,如果您有数百万个数据集,则应向客户端提供一次10-100个结果,以减少页面加载时间。我感到困惑的是,如果有许多客户端同时进行排序和筛选(即100个用户),那么如果是这种情况,那么您必须不断地对数百万条记录进行100次排序和筛选,我认为这会降低服务器的运行速度 如果我假设我的数据集大约为10000-100000,并且我有10-50个用户同时使用该应用程序,并且如果初始时间负载没有私营企业应用程序(即ER

在我应该在前端还是后端进行排序和筛选的问题上,我遇到了概念上的冲突

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


如果我假设我的数据集大约为10000-100000,并且我有10-50个用户同时使用该应用程序,并且如果初始时间负载没有私营企业应用程序(即ERP)那么重要,那么应该在哪里对logic live进行筛选和排序?

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

服务器端排序:

  • 通过对数据进行排序来增加服务器开销

  • 用户的数据传输量减少,因为您已发送过滤数据

  • 如果排序花费大量时间,用户体验可能不好,用户将在空白屏幕上等待
  • 在用户端排序:

  • 提高了服务器和用户的网络使用率,从而延长了服务器的进程运行时间

  • 可能会提供稍微更好的用户体验,可能会增加页面加载时间的总体增长,但用户的屏幕上会显示一些数据

  • 最好是使用两个世界中最好的一个,而不是坚持一个


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

    如何充分利用这两个方面的优势?您能给我举个例子吗?以排序的形式存储频繁查询的数据,如果数据集非常小,则在用户端进行处理。