gpt4 book ai didi

mysql - MySQL 的 COUNT() 函数是估计值吗?

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

我连续三次对 MyISAM 表执行了以下查询:

mysql> SELECT COUNT(*) FROM tickets WHERE created_time BETWEEN UNIX_TIMESTAMP() - 86400 * 20 AND UNIX_TIMESTAMP() - 86400 * 19;

门票表仅接收 created_time 列设置为 UNIX_TIMESTAMP() 的插入,行永远不会被删除,行的 created_time 永远不会更新。尽管如此,我得到的结果是 154324、154326 和 154325(按此顺序)。这让我相信 COUNT() 函数不会返回一个确切的数字,但我通过 MySQL 的文档和网络的其余部分进行的简短搜索没有产生任何提及这一点。有谁知道 COUNT() 的确切作用?

最佳答案

您得到的结果有什么问题?

当您运行查询时,时间窗口会发生变化 - 首先两个新结果进入窗口,然后一个旧结果出现(太旧)。

对于不同的场景,COUNT 的实现方式不同。如果您不使用 WHERE 限制查询并且查询是在单个表上执行的,那么一些存储的内部计数器将用于生成结果。如果限制查询,则首先使用表数据或索引过滤结果,然后对结果行进行计数。

关于mysql - MySQL 的 COUNT() 函数是估计值吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1284882/

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