gpt4 book ai didi

mysql - COUNT(*) 与手动跟踪计数器?

转载 作者:可可西里 更新时间:2023-11-01 07:36:43 26 4
gpt4 key购买 nike

我有一张 table 大约有。 70000 个条目。它包含有关品牌、型号和商品类别的信息。用户可以使用这些的任意组合来查询它们,并且必须根据他的选择更新显示的符合条件的商品的计数器。

我使用类似

的查询完成了它
SELECT model,COUNT(*) AS count FROM table$model_where 
GROUP BY model
ORDER BY count DESC

where $model_where 取决于其他条件。但是我的老板要求我使用一个特殊的计数器表重做这些查询,因为他认为它们正在减慢整个过程,但我提出的基准测试表明情况并非如此,示例输出:

代码耗时:0 wallclock 秒(0.02 usr + 0.00 sys = 0.02 CPU)

它从一开始就测量整个例程,直到将数据发送给用户,您可以看到它的速度非常快。

我已经对此事进行了一些研究,但对于何时使用 COUNT(*) 与计数器表,我仍然没有看到明确的答案。谁是对的?我不相信我们真的需要对此进行手动跟踪,但也许我知道的很少。

最佳答案

根据您的具体情况,这可能是也可能不是 premature optimization 的情况.

如果下周您的 table 要大 100 倍,情况可能并非如此,否则就是这样。

此外,您的老板应该考虑到,您和其他所有人都必须确保每当在计数记录上发生 INSERTDELETE 时更新计数器。有一些框架可以自动执行此操作(我想到了 ruby​​ on rails 的 ActiveRecord),但如果您不使用其中一个,那么您可能会以无数种方式在数据库中得到错误的计数器

关于mysql - COUNT(*) 与手动跟踪计数器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36737518/

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