Py学习  »  DATABASE

mysql select count查询时间长

HelloWorld • 4 年前 • 865 次点击  

300万条表记录,选择计数查询时间为0.6秒

320万条表记录,选择计数查询时间为8.4秒(新增记录20万条)

300万条表记录,选择计数查询时间为8.4秒(删除20万条记录)

120万条表记录,选择计数查询时间为9.7秒(删除超过20万条记录)

数据小于300万时是正常的。 一次插入200000个数据,多次执行,并删除测试。mysql5.6、windows10

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

我要选择计数查询时间<1s

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/40659
 
865 次点击  
文章 [ 1 ]  |  最新文章 4 年前
Rick James
Reply   •   1 楼
Rick James    5 年前

嗯,相差10倍左右。听起来数据比 innodb_buffer_pool_size . 有时 SELECT 主要在ram中运行(cpu限制在0.6s),有时主要从磁盘运行(i/o限制在8-10s)。

请提供 SHOW CREATE TABLE , SHOW TABLE STATUS , InnoDB_缓冲池大小 和内存大小。同样,做 显示表状态 在delete+insert之前和之后。