gpt4 book ai didi

mysql - 在大型数据集上计算平均值 (AVG) 和按周分组花费的时间太长

转载 作者:行者123 更新时间:2023-11-29 09:19:36 30 4
gpt4 key购买 nike

我每周获取 700 万行的平均价格,大约需要 30 秒才能完成工作。

这是简单的查询:

SELECT AVG(price) as price, yearWEEK(FROM_UNIXTIME(timelog)) as week from pricehistory where timelog > $range and product_id = $id GROUP BY week

唯一真正发生数据更改且每次都值得平均的周始终是最后一周,因此整个期间的计算会浪费资源。我只是想知道 mysql 是否有一个工具可以帮助解决这个问题。

最佳答案

您是否尝试过对字段建立索引?

我不是 MySQL 中的 DDL 专家,但在这种情况下,我会说 timelog 应该有一个聚集索引,然后应该为 Product_id 声明非聚集索引。此外,最好向表中添加一个新字段,用于存储“周”值并为其建立索引。这会占用更多的空间,但这样您就可以避免每次都进行相同的计算。

关于mysql - 在大型数据集上计算平均值 (AVG) 和按周分组花费的时间太长,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2610936/

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