博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
mysql查询语句出现sending data耗时解决
阅读量:5134 次
发布时间:2019-06-13

本文共 683 字,大约阅读时间需要 2 分钟。

在执行一个简单的sql查询,表中数据量为14万

sql语句为:SELECT id,titile,published_at from spider_36kr_record where is_analyze=0 ORDER BY create_time DESC LIMIT 10;
开始的时候很快,但后面sql语句查询越来越慢 。开始查找问题原因;
1. 执行explain

发现没毛病,正常走了索引

 

2. 执行SHOW PROFILES 查出Query_ID后在执行 show profile for query Query_ID ,或者是show processlist,查看查询所耗时资源

 

得知查询到语句耗时主要集中在 sending data上

 

解决步骤:

1. 查询资料需要开启查询缓存,执行命令查看开启情况 show variables like '%query_cache%'

 

改配置文件设置 query_cache_type=YES,后发现查询速度依然很慢,所以这个方案失效

 

2. 查看buffer 执行 show variables like 'innodb_buffer_pool%';

可以看出innodb_buffer_pool_size只有8M大小,理论上应该为主机内存的75%-80%,所以我这里先设置成2G

 

重启mysql,执行sql后发现查询毫秒级,问题解决

 

关于innodb_buffer_pool_size 可以参考博友文章 

 

转载于:https://www.cnblogs.com/yaoxing92/p/11058420.html

你可能感兴趣的文章
【BZOJ2441】【中山市选2011】小W的问题(树状数组+权值线段树)
查看>>
Python的字符串
查看>>
小技巧——直接在目录中输入cmd然后就打开cmd命令窗口
查看>>
深浅拷贝(十四)
查看>>
由级别和性格特征将程序员分类 ---看看你属于哪一种
查看>>
HDU 6370(并查集)
查看>>
BZOJ 1207(dp)
查看>>
对我来说,只有一件事情是重要的
查看>>
完整的Socket代码
查看>>
PE知识复习之PE的导入表
查看>>
POJ 3280 Cheapest Palindrome
查看>>
HDU 2076 夹角有多大(题目已修改,注意读题)
查看>>
Objective-C非正式协议与正式协议
查看>>
Windows核心编程学习九:利用内核对象进行线程同步
查看>>
[置顶] Oracle学习经验谈
查看>>
buildconfiguration[C/C++]_[从netbeans里提取的通用构建C++项目的Makefile文件]
查看>>
mysql常见操作
查看>>
如何解决inline-block元素的空白间距
查看>>
ethtool 命令输出的注意点--网卡参数
查看>>
24小时学通LINUX内核系列
查看>>