一个mysql慢查询问题-问答-阿里云开发者社区-阿里云

开发者社区> 问答> 正文

一个mysql慢查询问题

2016-10-09 11:07:27 2446 1

请教一个慢查询的问题,线上每天都会偶发的有一些慢查询,explain分析之后发现大部分查询都用到了索引,并且返回的数据集也比较小,但是查询结果通常耗费2s+。以下图片是一个explan 结果:
399994397456384328

可能大家看不清图片,我简单描述一下,这个表不到100W数据,一个单表查询使用到了联合索引(其实只需要uid就够了),扫描数据大概200多行,返回1行。但是查询结果耗时2s。当然再次执行就无法重现了,因为开启了query_cache。
线上配置自建机房的虚拟机,机械硬盘,mysql是innodb引擎,是一主一从,慢查询是在主库上的。主库“innodb_buffer_pool”是8个G。

PS:先说下我的分析,类似的查询,我使用sql_no_cache排除query_cache的干扰,第一次执行会很慢,再次执行就会很快。从show profile上看耗时也都是在“sending data“上。我怀疑是虚拟机的硬盘IO有点问题,因为第一次数据从硬盘load到buffer_pool,所以比较慢,第二次无论有没有用到index,都是从buffer_pool中直接检索数据,所以比较快。但是从硬盘扫描200多行数据也实在是太慢了吧,所以怀疑是硬盘问题。(另外我们每天都会全量备份数据,而innodb_old_blocks_time设置的是0,所以可能每天都会把buffer pool中的热数据给洗一次。。。,是不是也是坑?!)。如果是硬盘问题,我该如何确认我的想法呢?

取消 提交回答
全部回答(1)
  • 厚积博观
    2019-07-17 20:14:43

    用索引的,查询索引占比30%一下的时候会比较快。多了反而慢

    0 0
相关问答

1

回答

常见Mysql的慢查询优化方式

2021-10-13 11:41:45 900浏览量 回答数 1

1

回答

MySQL索引的一个问题

2016-07-01 16:34:34 1605浏览量 回答数 1

1

回答

MySQL 子查询问题

2016-03-10 16:45:44 1894浏览量 回答数 1

1

回答

一个mysql多表查询的问题

2016-02-08 11:25:13 1708浏览量 回答数 1

1

回答

mysql慢查询日志设置问题

2016-02-14 14:41:36 2067浏览量 回答数 1

1

回答

MySQL的复杂查询语句问题。

2016-02-11 14:16:12 1902浏览量 回答数 1

1

回答

mysql单条查询一天能够查询多少?

2016-02-11 17:24:07 1439浏览量 回答数 1

1

回答

关于MySQL的查询问题

2016-02-08 23:34:02 2072浏览量 回答数 1

1

回答

mysql查询差值方法

2016-02-01 15:58:57 2656浏览量 回答数 1

2

回答

一个mysql查询的问题,纠结了好久了。

2015-10-10 15:34:39 4371浏览量 回答数 2
+关注
0
文章
1
问答
问答排行榜
最热
最新
相关电子书
更多
低代码开发师(初级)实战教程
立即下载
阿里巴巴DevOps 最佳实践手册
立即下载
冬季实战营第三期:MySQL数据库进阶实战
立即下载