gpt4 book ai didi

database - 开发最佳解决方案/设计,为报告引擎汇总许多数据库行

转载 作者:塔克拉玛干 更新时间:2023-11-03 06:12:40 25 4
gpt4 key购买 nike

问题:我正在开发一个报告引擎,显示有关农场检测到的蜜蜂数量的数据(蜜蜂只是这里的一个例子)

我有 100 台设备,每分钟计算在农场中检测到的蜜蜂数量。这是数据库的样子:

enter image description here

所以一周内可能有数十万行。

农夫想要一份报告,显示给定日期每小时有多少蜜蜂飞来。我开发了两种方法来做到这一点:

  1. 服务器从数据库中获取当天的所有 100,000 行并将其过滤掉。服务器使用大量内存来执行此操作,我觉得这是一种蛮力解决方案

  2. 我有一个存储过程,它返回一个临时创建的表,每小时为每个设备收集的蜜蜂总数。服务器获取此表,不需要处理 100,000 行。

enter image description here

这将返回 (24 * 100) 行。然而,这比我预期的要花更长的时间 ~

enter image description here

有哪些好的候选解决方案可以开发一种解决方案来整合和汇总这些数据,而无需花费 30 秒来汇总一天的数据(我可能需要几个月的时间来划分几天)?

最佳答案

如果性能是您在这里最关心的问题,那么您可能可以直接在数据库上做很多事情。我会尝试为 time_collected_bees 上的表编制索引,以便它可以更快地过滤到 100K 行。如果数据库正在扫描整个表以查找相关条目,我猜这就是你的减速发生的地方。

如果您使用的是 SQL Server,您可以尝试查看您的 execution plan看看到底是什么让事情变慢了。

在构建真正复杂且难以维护的东西之前,多看看数据库优化。

关于database - 开发最佳解决方案/设计,为报告引擎汇总许多数据库行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46305492/

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