Javascript 我应该一次加载所有数据库结果还是发出多个请求?

Javascript 我应该一次加载所有数据库结果还是发出多个请求?,javascript,node.js,database,vue.js,filter,Javascript,Node.js,Database,Vue.js,Filter,我想筛选具有以下列的大型数据库: 名称-最大高度-最小高度-范围-最大角度-最小角度 我想对其进行过滤,以匹配用户可以在之前插入的某些条件,例如,如果用户输入最大高度(80cm),则应显示列出最大高度小于80cm的所有条目。(用户还可以输入更多条件) 输入如下所示: 我计划在用户输入内容时使用onchange属性对其进行过滤 我使用node.js作为后端,Vue.js作为主要前端框架。我的问题是,是否最好将数据库中的所有数据加载到一个数组中,然后将其发送到前端并在那里对其进行过滤,或者是否最好

我想筛选具有以下列的大型数据库:

名称-最大高度-最小高度-范围-最大角度-最小角度

我想对其进行过滤,以匹配用户可以在之前插入的某些条件,例如,如果用户输入最大高度(80cm),则应显示列出最大高度小于80cm的所有条目。(用户还可以输入更多条件)

输入如下所示:

我计划在用户输入内容时使用
onchange
属性对其进行过滤


我使用node.js作为后端,Vue.js作为主要前端框架。我的问题是,是否最好将数据库中的所有数据加载到一个数组中,然后将其发送到前端并在那里对其进行过滤,或者是否最好在用户输入条件时向数据库发出请求

这取决于数据集的大小,因为:

  • 使用的服务器资源(CPU、RAM等)
  • 使用的带宽
  • 转车时间
  • 使用的客户端资源(CPU、RAM等)
[服务器资源]:根据服务器资源的可用性,生成和发送大型数据集可能会不必要地消耗分配的主机容量。这可能意味着成本更高的主机和/或服务器速度减慢,用户体验变慢。添加额外的并发用户将有助于实现这一效果

[带宽]:占用太多带宽/传输容量也是如此

[传输时间]:如果发送大型数据集花费的时间太长,可能会造成不必要的缓慢用户体验,尤其是对于连接速度较慢、等待时间更长的用户

[用户资源]:如果数据集使用了太多的用户资源(RAM等),也可能由于设备减速或冻结而造成缓慢的用户体验,特别是在容量较小的设备上,则将时间转移到一旁。用户可以通过多种设备进行连接

[结论]:如果这些问题不值得关注,或者数据集不够大,不足以引起这些问题:如果需要,请发送整个问题。甚至可以向服务器发送一个全面的请求,而不是大量的小连接请求

其他想法:

[Caching]:根据应用程序的不同,每个用户发送一次数据并将其存储在本地(例如,用户的
本地存储中)也是明智的做法。然后执行一些检查,以确认在后续访问中存储了正确的数据。(某些大小限制适用于localStorage,并且在不同浏览器上有所不同。)


[测试]:您可以通过测试和分析所述指标来确定适合您的情况的截止大小。

您使用的是什么数据库?我使用的是PostgresMy数据库,最多有3225个条目,每个条目有八个字段。我想我会对每个输入分别提出请求。谢谢