Mysql 数据库 单表查询越来越慢,总数300w+

1.有唯一索引
2.查询总条数,耗时基本超过2min 以上
请教各位前辈大佬指点迷津,排除问题的方向,寻找解决方式。
原因可能是索引顺序引起的, 我修改了两个字段的顺序,查询时间明显改善
如下图:
图片说明
EXPLAIN 此表如下:
图片说明图片说明图片说明
查询时间为 : 0.6~2s+
由上查询很慢,可能是索引引起,但我无法确认与优化。

PS:问题已经解决,mysql 默认配置读写之类的设置过小。

6个回答

count已经自己优化了,如果还慢只能你自己sql语句优化了
比如没有where直接max(id),有where 索引列再用count
再看看硬盘网络压力等等问题

baidu_28081035
家明君 io 读写压力 之类 我看了下 ,没有十分明显的问题。
一年多之前 回复

你通过explain 查看下执行计划确定是什么地方慢,才好优化

baidu_28081035
家明君 回复: 已更新问题,上传图片
一年多之前 回复
baidu_28081035
家明君 您好,可以请教一下具体看哪些参数,那个方向解决吗?我不是很懂这个
一年多之前 回复

查看sql执行计划,是不是硬件设备不行呢

baidu_28081035
家明君 您好,可以请教一下具体看哪些参数,那个方向解决吗?我不是很懂这个,执行计划的参数 我已经上传图片
一年多之前 回复

很难想象几十万数据,count要这么久啊
你试下直接select count(unique_key_id) from t;
看时间能不能减少,如果用上了索引,应该是非常快的

baidu_28081035
家明君 额,搞错了是300w+
一年多之前 回复

使用Select count(1) from xx试试看

在《高性能mysql》一书中有提到,
当有多个索引时,mysql会对 SELECT COUNT(*) 进行优化,使用最适合的索引进行查询
楼主的表中只有一个复合索引?

baidu_28081035
家明君 目前建立了两个索引,gettime , 一个多字段唯一索引
一年多之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐