gpt4 book ai didi

php - Mysql - 汇总表

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

您建议使用哪种方法,为什么?

创建汇总表和 . . .

1) 实时更新表格。

2) 每 15 分钟运行一次 group by 查询以更新汇总表。

3) 还有别的吗?

数据必须接近实时,不能等一个小时、一天等

最佳答案

我认为还有第三种选择,它可以让您更好地管理 CPU 资源。如何编写一个单独的进程来定期更新汇总数据表?与其使用分组依据重新创建摘要,这肯定会随着时间的推移运行得更慢,因为每次这样做都会有更多的行,也许您可​​以只更新值。根据数据的性质,这可能是不可能的,但如果它非常重要以至于不能等待并且必须接近实时,那么我认为您可以花时间调整模式并允许进程更新它而无需读取源表中的每一行。

例如,假设您的数据只是login_data(cols username, login_timestamp, logout_timestamp)。您的摘要可以是 login_summary(cols 用户名,计数)。每 15 分钟一次,您可以截断 login_summary 表,然后使用 select username, count(*) 代码插入。但是你每次都必须重新扫描整个表格。为了加快速度,您可以将汇总表更改为具有 last_update 列。然后每隔 15 分钟,您只需为每条比该用户的 last_update 记录更新的记录进行更新。当然更复杂,但它有一些好处:1)您只更新更改的行,以及 2)您只读取新行。

如果 15 分钟对您的用户来说太晚了,您可以将其调整为每 10 分钟运行一次。这当然会对 CPU 产生一些影响,但不如每 15 分钟重做一次整个摘要那么大。

关于php - Mysql - 汇总表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2726228/

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