引出问题

一个很简单的sql,生产环境查询竟然要这么久


我本地只需要0.2s,测试环境也只需要不到1秒钟。
这差距也太大了。
执行的sql如下:

select date_day,detain_flag,reserve_flag,into_type,out_type,usable_flag from table where line_no='11' and  date_day BETWEEN '2021-01'
nd '2022-02' and is_del=0 AND type=1 ;

前置说明:
其中 line_no、date_day 是加了联合索引的,类型都是varchar。
detain_flag,reserve_flag,into_type,out_type,usable_flag类型为int(1)和varchar(30)
目前是6台机器上有mysql集群。
表中有50万数据,符合条件是3万,表数据大小是160M。


对比

如果只执行

select date_day from table where line_no='11' and  date_day BETWEEN '2021-01'
nd '2022-02';

是很快的。


但是执行

select   date_day,detain_flag,reserve_flag,into_type,out_type,usable_flag from plan_train_use_schedule where line_no='11' and  date_day BETWEEN '2021-05' and '2022-03';

后依然很慢,
差别就是返回的字段中多了几个。


然后又这样执行

select   `code` from plan_train_use_schedule where line_no='13' and  date_day BETWEEN '2021-05' and '2022-03' and is_del=0 AND type=1;

后依然很慢,
差别就是查询的条件中字段中多了几个。


我的猜想

我猜是因为回表导致的慢,但是这特娘的也太慢了吧,其他库有个600万数据的表,是很快的。我这个库有毒?

这两个命令能查出如下图的数据,需要先执行你的sql,然后下面的命令依次执行
show profiles;
show profile for query 26;

我现在怀疑是跟缓冲池大小有关,因为本地跟测试相对来讲没人用,所以默认的125M内存够用了,但是生产环境一直在用,所以发生回表操作的话需要把数据重新刷进去的,所以导致慢。但是需要重启mysql,暂且没试,查询的命令是:

show variables like ‘%query_cache%’;
show variables like ‘innodb_buffer_pool%’;

如图,Mysql的配置都是默认的。感觉有点坑爹。

我想改下试试。但是需要重启,不好操作。


分割线 2022年1月12日13:25:20

以下操作可能需要参考这篇文章:
win10查找Mysql5.6版本的配置文件my.ini并修改innodb_buffer_pool_size

虽然生产不好操作,但是我自己电脑可以操作哇。

我查了下自己电脑Mysql的配置

show variables like ‘innodb_buffer_pool%’;

结果为

innodb_buffer_pool_instances = 8
innodb_buffer_pool_size = 125M

此时查询速度很快的,0.2秒,配置为125M

然后我改了下,查询速度需要20+秒,配置为6M

然后我又改了下,变成2G,查询只要0.01秒,配置为2G

可以看到明显的差别。

只等去生产环境试一下看是否解决问题了。


完美解决,吼吼 2022年1月12日14:23:51

此时生产环境一台机器配置如下

执行sql查询时间为0.4秒,不吹牛逼,这特么的提升了100倍是有的


序1

2022年9月26日17:08:09

今天遇到的问题,使用navcat 查询很慢, 但是登录到服务器去执行同样的sql是正常的。怀疑是网络问题造成的。


Mysql本地执行快,测试也快,生产贼慢(已解决)相关推荐

  1. 基于openEuler虚拟机本地执行mugen测试脚本

    [原文链接]基于openEuler虚拟机执行mugen测试脚本 (1)首先需要准备一台openEuler虚拟机,若未安装,可参考 VMware安装openEuler-22.03-LTS版本的虚拟机 安 ...

  2. 基于sentry的前端错误监控日志系统(部署sentry服务器/前端项目部署)-让前端最快的定位到生产问题

    基于sentry的前端错误监控日志系统(部署sentry服务器/前端项目部署)-让前端最快的定位到生产问题 背景 在这越来越发达的网络时代,web应用也是越来越复杂,尤其是前端的开发,也是越来越受重视 ...

  3. LAMP/LNMP环境下:phpinfo php连接mysql php执行mysql查询 测试代码及响应

    1.测试php环境搭建完成: <?phpphpinfo();?> =========================== 2.测试php连接mysql数据成功: <?php$mysq ...

  4. 能测试快充真假的软件,苹果iOS 12可自行测试真假快充:山寨充电器无处遁形

    苹果2018新品发布会临近,有爆料称本次苹果将带来三款新机并且推出最新的系统版本苹果iOS 12.近期,苹果也接连推送了多个iOS 12 Beta版本供大家尝鲜,截止目前,已经更新到了iOS12 Be ...

  5. 开发EduSoho v8.7.10 本地播放视频超时或者快进后网络错误导致视频下载中途失败。鉴权播放次数问题

    EduSoho v8.7.10 本地播放视频超时或者快进后网络错误导致视频下载中途失败.鉴权播放次数问题 文件路径 src/AppBundle/Twig/WebExtension.php protec ...

  6. EduSoho v8.7.10 本地播放视频超时或者快进后网络错误导致视频下载中途失败。

    EduSoho v8.7.10 本地播放视频超时或者快进后网络错误导致视频下载中途失败.鉴权播放次数问题 文章转载于 https://m.zkdygl.com/d/223-edusoho-v8710 ...

  7. 手机充电效率测试软件,2017年哪款手机充电最快?7款快充手机充电效率测试

    原标题:2017年哪款手机充电最快?7款快充手机充电效率测试 iPhone X和 iPhone 8是苹果最新推出的支持快充功能的iPhone手机,然而外国网站Tom's Guide的最新研究显示,iP ...

  8. 九大体质测试软件,著名的九大体质测试,快来测一测

    原标题:著名的九大体质测试,快来测一测 如果对中医有些了解,那么九大体质肯定听说过.中医将我们常见的体质分为九种,并根据个体先天因素和后天因素,对各个体质做出判断,可得知今后你容易患上哪些疾病. 著名 ...

  9. 安其拉开门最快的服务器,魔兽世界:怀旧服安其拉开门压力测试周四开放,位面已成最大问题...

    原标题:魔兽世界:怀旧服安其拉开门压力测试周四开放,位面已成最大问题 相信很多回归魔兽世界怀旧服的老玩家都希望在10多年以后再次体验一次安其拉开门时间,而那些没有经历过安其拉开门的玩家也对这个史诗级的 ...

最新文章

  1. 太任性!17 岁少年买不到回国机票,因“泄愤”攻击航司系统,被判刑 4 年
  2. 在WinRT中读取资源文件
  3. js移除某个样式_js中如何移除css样式?
  4. python爬取qq音乐周杰伦_Python爬取20万条评论,告诉你周杰伦为啥弄崩QQ音乐?
  5. Kubernetes 2018 年度简史
  6. 15拆分成3个不同的自然数_15个小时搜救破拆,他磨破3双手套营救出4个生还者...
  7. Eclipse 常用快捷键收集
  8. java的多线程总结
  9. asp.net处理机制管道事件
  10. 全国计算机二级基础知识ppt,有关全国计算机二级基础知识.ppt
  11. android的自定义字体,Android中使用自定义字体的方法
  12. 明解C语言(基础篇)—第七章
  13. 我想外包开发一个预约类小程序,大概需要多少钱?
  14. 设计一个分数类java_Java 有理数类 分数类 Rational类的设计与实现
  15. 以下选项中、不是python对文件的打开模式的是_以下选项中,不是Python对文件的打开模式的是...
  16. 联通雁飞格物云平台,单片机连接MQTT服务器
  17. 小程序获取微信运动步数并集成echarts报表显示
  18. QMA和QN连接器行业调研报告 - 市场现状分析与发展前景预测(2021-2027年)
  19. 【话题讨论】-浅谈VR与AR
  20. SAP S4 HANA信贷管理之信贷未清表

热门文章

  1. 华尔街金融家告诉你,为什么有钱人都不娶美女
  2. 计算机中文核心期刊和核心期刊影响因子
  3. 需要打开密码才能解压的压缩包如何解决
  4. 免费的PDF转Word的方式,别再花钱充会员了
  5. 5大JavaScript前端框架简介
  6. UMAP降维算法原理详解和应用示例
  7. springboot Vue孕期月子管理系统与早教交流系统java项目源码
  8. 英语思维导图大全 完型填空(二十)
  9. ArcBlock 博客 | OCAP超简易集成攻略(Android 篇)
  10. python 实现链表