gpt4 book ai didi

mysql - Rails 控制台与 MySQL 控制台 - 计算大表中的行数

转载 作者:行者123 更新时间:2023-11-29 14:15:36 26 4
gpt4 key购买 nike

我想显示一个图表,显示过去 30 天内某个表有多少条记录。我将执行一个 rake 任务,每天都会通过 cron 作业运行该任务。

我刚刚做了一个测试,发现了一个奇怪的“问题”。我在 Rails 控制台中运行了这段代码:

SeenEpisode.count
#=> (57135.2ms) SELECT COUNT(*) FROM `seen_episodes`

然后我在 MySQL 控制台中对此进行了测试:

use my_database;
SELECT COUNT(*) FROM seen_episodes;
1 row in set (3.94 sec)

该表有 2100 万条记录。

我在生产服务器上运行了这两项测试,以获得真实的性能数据。

其他具有大约 500k 条记录的表,在 Rails 控制台中需要 80-300 毫秒。

为什么在 Rails 中计算(使用相同的查询)21m 大表所花费的时间比在 MySQL 控制台中长得多?

最佳答案

我猜你在 INNODB 上,其中 count(*) 没有被缓存。

关于mysql - Rails 控制台与 MySQL 控制台 - 计算大表中的行数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12753988/

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