gpt4 book ai didi

mysql - ...仍然没有得到尝试优化 mysql innodb 表以实现快速计数的结果

转载 作者:行者123 更新时间:2023-11-30 23:34:29 24 4
gpt4 key购买 nike

我发布了这个问题 here不久以前。我尝试了这些建议并得出结论,我一定是在做一些根本性的错误。我基本上想做的是:

我有一张包含 83Mio 的表格。时间/价格对。由于索引 im 使用毫秒级精确的 unix 时间戳,价格范围在 1.18775 和 1.60400 之间(精度为 5 的十进制)。我有一个客户需要找出给定时间间隔内的价格密度,这意味着我想采用指定的时间间隔并计算所有不同价格在该间隔内出现的次数。你们会怎么做?您将如何设计/索引表格?现在我正在构建一个临时子表,其中仅包含给定时间间隔内的数据,然后计算价格。有一个更好的方法吗?我的一般数据库设置已经调出并且性能很好。感谢您的任何提示!我会尽快提供所需的任何其他信息!

最佳答案

鉴于您拥有大量数据并且其增长迅速,我倾向于添加第二个表:

price (primary key)
time( some block - also part of PK )
count

执行“插入重复键更新计数++”之类的事情。按某个预定间隔对时间字段进行分组(取决于您获得的查询类型......毫秒/秒/小时/无论什么)。这样你:

 don't have to mess with temp tables - with a table of this size it will write to disk - slow even with SSD
don't have to touch the initial table every time you want to do your query - might run into locking issues

您将不得不对数据进行一些平均,但可以预先确定粒度以尽可能减少问题。

关于mysql - ...仍然没有得到尝试优化 mysql innodb 表以实现快速计数的结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8758338/

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