gpt4 book ai didi

javascript - 架构: Grouping client side,或从服务器提取多个分组数据?

转载 作者:行者123 更新时间:2023-11-29 11:00:46 25 4
gpt4 key购买 nike

(我希望这个问题不要固执己见,因为我确实觉得答案有对有错,所以如果只是告诉我,我会删除它)

我的 MySQL 数据库中有一个数据,其中一个字段包含一些不同的值,但需要根据这些值进行分组(我知道这些值是什么)。所以我的问题是:

  • 是否最好一次性从服务器拉取所有数据(因为所有数据都会被使用),然后在客户端通过 JS 根据您想要的字段将数据排序到组中想要。

  • 或者是向服务器发出多个小请求,仅获取与单个字段匹配的数据,然后直接在程序中使用该数据。

我认为主要考虑因素是尽可能少的人在服务器上花费时间,因为与服务器端相比,客户端工作效率更高(速度更快且只有一个用户)(互联网连接速度较慢,并且有还有更多用户)。

但是什么效果更快更好:许多小型服务器请求,或一个大型服务器请求。

例如:

   Name:       Group

Alpha: Top
Bravo: Top
Delta: Bottom
Charlie: Top
Echo: Bottom
Fox: Bottom
Gama: Bottom
Hotel: Top
India: Top
Juliet: Bottom

是否最好通过一次查询从服务器获取所有数据($sql = "Select * FROM table";),然后使用客户端函数对数据进行分组(GroupBy(数据,组){};)

或者进行两个数据库查询($sql = "Select * FROM database where group = $group";),然后只使用已经分组的数据?

一个现实世界的例子就像亚马逊,用户每天都会有大量的查询,但他们可能正在搜索鞋子,所以你是否通过以下方式一次性获得鞋子的数据、价格和描述一个 API 请求,然后在服务器端对其进行分组并将其放入列中,还是首先获取所有大小,然后着色,然后查看并将每个请求插入到列中?

最佳答案

数据库的性能始终是这些大问题之一。我认为这个问题没有正确的答案,因为最适合您的方法取决于很多因素。如果这将是一个获取数据的过程,例如每天一次,我会逐步分批获取数据。批处理的大小取决于您的服务器、数据库有多大等。我个人会尝试不同的大小,并且我会监视服务器以查看其运行情况。

如果这是一次(因为也许您正在进行迁移),您可能可以一次获取所有数据。但这也取决于您是否有用于迁移的 SLA、MySQL 返回整组数据需要多长时间等。

还要考虑到,即使您现在使用的批量大小非常适合您,但将来可能不会这样,具体取决于数据库增长的程度。

我认为对此的最佳答案是:尝试不同的方法(所有数据,按组或按批量大小),监视服务器,然后选择最适合您的方法。

希望这可以帮助您解决问题。

关于javascript - 架构: Grouping client side,或从服务器提取多个分组数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42311602/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com