【问题标题】:Select count long query time选择计数长查询时间
【发布时间】:2019-01-06 06:09:02
【问题描述】:

300万表记录,select count查询时间为0.6秒

320万条表记录,select count查询时间8.4秒(新增20万条记录)

300万表记录,select count查询时间8.4秒(删除20万条记录)

120万条表记录,select count查询时间9.7秒(超过20万条记录被删除)

数据小于300万是正常的。 一次插入20万条数据,多次执行,删除测试。 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;

我要选择计数查询时间

【问题讨论】:

  • 您的表是否有适当的索引或表分区?
  • 谢谢,500万数据,选择count 0.6s

标签: mysql database bigdata


【解决方案1】:

嗯,这大约是 10 倍的差异。听起来数据比innodb_buffer_pool_size 大。有时SELECT 主要在 RAM 中运行(CPU 限制在 0.6 秒),有时它主要从磁盘运行(I/O 限制在 8-10 秒)。

请提供SHOW CREATE TABLE、SHOW TABLE STATUS、innodb_buffer_pool_size 和 RAM 大小。另外,在删除+插入之前和之后执行SHOW TABLE STATUS。

【讨论】:

    猜你喜欢
    • 2019-07-27
    • 1970-01-01
    • 2018-12-07
    • 2023-03-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-08-24
    • 1970-01-01
    相关资源
    最近更新 更多