选择count long query time

nzkunb0c  于 2021-06-15  发布在  Mysql
关注(0)|答案(1)|浏览(238)

300万条表记录,选择计数查询时间为0.6秒
320万条表记录,select count查询时间为8.4秒(200000条新记录)
300万条表记录,选择count查询时间为8.4秒(删除200000条记录)
120万条表记录,select count查询时间为9.7秒(删除超过200000条记录)
低于300万时数据正常。一次插入200000个数据,执行多次,并删除测试。mysql 5.6、windows 10

select count(1) from t_node;
delete from t_Node limit 200000;
insert into t_node select * from t_node limit 200000;

我想选择count查询时间<1s

6yoyoihd

6yoyoihd1#

嗯,相差10倍左右。听起来数据比 innodb_buffer_pool_size . 有时 SELECT 主要在ram中运行(cpu限制在0.6秒),有时主要从磁盘运行(i/o限制在8-10秒)。
请提供 SHOW CREATE TABLE , SHOW TABLE STATUS , innodb_buffer_pool_size 以及内存大小。另外,做 SHOW TABLE STATUS 删除+插入前后。

相关问题