Mysql查询很慢卡在sending data的原因及解决思路讲解
发表于:2025-01-19 作者:千家信息网编辑
千家信息网最后更新 2025年01月19日,因为编写了一个Python程序,密集的操作了一个Mysql库,之前数据量不大时,没发现很慢,后来越来越慢,以为只是数据量大了的原因,但是后来慢到不能忍受了,查了半天,索引能用的都用上了,执行一次还是要
千家信息网最后更新 2025年01月19日Mysql查询很慢卡在sending data的原因及解决思路讲解
因为编写了一个Python程序,密集的操作了一个Mysql库,之前数据量不大时,没发现很慢,后来越来越慢,以为只是数据量大了的原因,但是后来慢到不能忍受了,查了半天,索引能用的都用上了,执行一次还是要3到4秒,不能忍受了。
于是把一些可以缓存的查询全部用redis缓存了起来,大大加速了应用。
但是还是有一些没办法缓存的,或者说,每次查询都是不一样的结果的就没办法了。用navicat的查询概况可以看到卡住的地方是在:Sending data一段,用时3.5秒,占了99%的查询时间。
在网上查了一些,有些是因为sql语句的问题,但是我这个完全没有用到varchar,也没用到in方法。
于是想是不是表太大了,可能没有缓存到内存中,于是先查mysqld进程占的内存,才50多M,明显太少了,那张表的实际容量有200多M,这个可以在navicat的对象一栏看到,应该是每次查都是从磁盘读取,所以很耗费时间,于是查看win10的磁盘IO,发现确实是这样,磁盘IO达到了100%,还是固态硬盘,每秒读取80M左右,难怪这么慢了。
于是查了mysql的配置文件,发现有一项配置才32M,调成512M,重启mysql,搞定这次从3.5秒变成了0.76秒了。
配置项是:
innodb_buffer_pool_size=32M
这是mysql5.7默认的,改成512或1024,再重启即可,看你的硬件配置。
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对的支持。如果你想了解更多相关内容请查看下面相关链接
查询
缓存
配置
内容
磁盘
还是
内存
办法
数据
时间
学习
原因
明显
不大
价值
只是
固态
地方
实际
容量
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
广东质量网络技术开发服务标准
互联网科技企业发展趋势
免费域名服务器有哪些
低延迟大带宽服务器
软件开发计划与需求分析
一流网络安全学院项目管理办法
天津软件开发培训班
沈阳排队网络技术有限公司
飞机大战怎么连接数据库
x3850服务器适合装什么系统
国家网络安全兵器库
网络安全法的的规定
lol韩国服务器
安全服务器禁止使用vac
网络安全实验室平面布置
计算机网络安全工程师培训
小布什国家网络安全策略
tcu软件开发工程师
php获取数据库
许昌企业管理软件开发
萤石云服务器地址在哪里
哪里看怀旧服服务器排队情况
软件开发学生用的笔记本
大学生身高体重肺活量数据库
服务器虚拟化支持不同存储吗
网络安全宣传作文800字
汉南区管线探测数据库
华为服务器远程管理
我的世界被抛弃服务器推荐
服务器做win7bios设置