使用mysql数据库首次查询缓慢需要4-20s并且时好时坏

  • 绕了一大圈的问题分析思路
    • 一开始以为是mySql问题 ==最后还是未解决问题==
    • 发现使用Navicat查远程mysql库也很缓慢 ==最后还是未解决问题==
    • 判断是不是代码逻辑问题 导致第一次多操作缓慢 ==最后还是未解决问题==
    • 发现是建立连接( Initial connection)时巨慢 21s ==成功解决问题==

绕了一大圈的问题分析思路

** 缺陷效果表现 **
mysql查询,没有缓存的情况下,就是第一次查,特别的慢 然后又正常了,过了一段时间后又特别缓慢

  1. 初始判断mysql索引等等问题
  2. 然后判断是不是缓存问题,毕竟表现形式就是第一次慢,后面缓存了快

一开始以为是mySql问题 最后还是未解决问题

索引问题排除   考虑到实际数据并不多不考虑到索引问题
mysql在本地环境下特别快,但是使用远程的sql就出现问题了

会不会是mysql自动断开连接所以搜索缓慢 最后还是未解决问题

这种自动断开无非就是因为无人访问mysql,mysql有资源保护机制,发现没人用了就断开掉节约资源
通过给一个定时任务3分钟调用一次sql语句实现永久不断开

发现使用Navicat查远程mysql库也很缓慢 最后还是未解决问题

Navicat一直有一个通病,就是时不时卡顿闪退一想到navicat都搜索缓慢时不时数据库本身有问题

1. 使用在[mysqld]下配置一下属性方式尝试解决,实际未解决问题
skip-name-resolve
在linux环境下配置文件是/etc/my.cnf,
windows环境下配置是my.ini文件
做完操作后记得重启mysql
2. 修改mysql连接方式外网修改内网ip尝试解决,实际未解决问题
之前一直是用的外网ip连接的数据库,api和数据库实际都是在同一个服务器,可以使用内网ip连接mysql

判断是不是代码逻辑问题 导致第一次多操作缓慢 最后还是未解决问题

但是第一次代码虽然会有很多操作 有这种可能性 可是后面存储了信息之后 走的是缓存的逻辑,只做了一个简单的查询判断接口,
但是这个简单的接口也特别的慢,这就不是代码问题的

发现是建立连接( Initial connection)时巨慢 21s 成功解决问题


Initial connection 什么鬼,竟然20多秒

其实测试时就已经发现这个问题了,一直以为是mysql或者其他的问题导致的第一次加载特别慢的原因,
所以没在意分析具体耗时在哪。
无奈百度,google也没找到解决方案。
全都是其他的一堆乱七八糟的方案,把我带偏了本地localhost访问一直都很快,显然不是代码的问题。ping的了域名发现解析速度也没有问题。
最后重新给网站换了个域名,结果就解决了。打开阿里云查看域名解析,
发现自己把两个IP用在了同一个域名上面导致冲突了
然后果断删除其中一个解析,解决了这个贼坑的问题

mysql数据库首次查询缓慢相关推荐

  1. java查询mysql装载bean_jsp与javabean链接mysql数据库并查询数据表的简单实例源码

    jsp与javabean链接mysql数据库并查询数据表的简单实例源码.这个简单的实例是给新手学习的,或者一些高手临时忘记怎么使用jsp操作mysql数据库时候查找的,包括了建立mysql数据库连接的 ...

  2. php 查看mysql连接数据库_php基础之连接mysql数据库和查询数据

    php基础之连接mysql数据库和查询数据 文章主要介绍了php连接mysql数据库和查询数据的方法和示例,需要的朋友可以参考下,就跟随百分网小编一起去了解下吧,想了解更多相关信息请持续关注我们应届毕 ...

  3. 查询 oracle_关于oracle和mysql数据库的查询问题

    近期在写mysql数据库报表时,需要给查询排序后的数据增加一列序号,用来统计查询数据的排名,在这里遇到一个视图和排序冲突的问题. Part 1 在oracle数据库中可以直接给查询语句增加一列ROWN ...

  4. mysql 数据库里查询语句中不等于的两种写法

    mysql 数据库里查询语句中不等于的两种写法 ps:本人亲测,阿里云2核4G5M的服务器性价比很高,新用户一块多一天,老用户三块多一天,最高可以买三年,感兴趣的可以戳一下:阿里云折扣服务器 1.my ...

  5. Mysql数据库分页查询及优化

    最近遇到个数据库分页查询问题,mysql数据库分页查询默认是升序查询,就是第一页查询的是最先插入的数据,最后一页才是最新插入的数据,弄了个小的数据库表单,记录下我的操作过程,还有优化查询速度的方法. ...

  6. MySQL数据库select查询命令大全

    MySQL数据库select查询命令大全 --数据库操作前的准备 -- 创建数据库 -- create database python_test_1 charset=utf8; -- 使用数据库 -- ...

  7. Mysql数据库常用查询方法及演示(where条件查询、分页、排序等)

    Mysql数据库常用查询方法及演示 where条件查询的介绍 使用where条件查询可以对表中的数据进行筛选,条件成立的记录会出现在结果集中. where语句支持的运算符: 比较运算符 逻辑运算符 模 ...

  8. 小白 MySQL数据库链接查询语句_MySQL数据库——连接查询

    今天将用 "手" 来教大家关于MySQL连接查询的知识! ============================================================= ...

  9. MySQL数据库 高级查询(一)

    常用函数 常用聚合函数: AVG() 返回某字段的平均值 COUNT() 返回某字段的行数 MAX() 返回某字段的最大值 MIN( ) 返回某字段的最小值 SUM( ) 返回某字段的和 函数名 作用 ...

  10. Java web访问MySql数据库分页查询

    有时候我们查询数据库表时,但是很多时候表中的记录很多,需要显示出来的话怎么办?这时可以使用分页的方法,就是指定从数据库表的什么位置开始查询显示,以及指定显示的记录数目. Mysql数据库提供了limi ...

最新文章

  1. Matlab绘图函数一览
  2. 野比的示波器案例(Winfrom用户控件)
  3. Leetcode 152. 乘积最大子序列 解题思路及C++实现
  4. win7冒险岛java,win7玩冒险岛不兼容怎么办?解决win7玩冒险岛不兼容的方法
  5. Redis入门,Redis的安装
  6. 3、redis之java client环境搭建
  7. sql server 用户'sa'登录失败(错误18456)(转载)
  8. 史上最简单的spark教程第十章-SparkSQL编程Java案例实践(二)
  9. android会员管理,基于Android平台的会员管理系统设计与实现
  10. MySQL 优化---索引实战(三)
  11. Bootloader和Linux启动过程总结
  12. 怎样将PDF水印删除 PDF删除水印的小技巧
  13. 安卓webview和h5交互
  14. 模仿新浪微博雷达搜索动画效果
  15. 近五年中文电子病历命名实体识别研究进展
  16. Lab AAA-本地认证
  17. 如何设置Exchange-Ecp的管理员
  18. 快速了解日志概貌,详细解读13种日志模式解析算法
  19. Python 求奇数分之一序列前N项和
  20. 使用Blender创建透明材质的物体并导入到Unity中

热门文章

  1. 开滦二中2021高考成绩查询,成人成才 无缝严管丨开滦二中西校区2018高考总结交流大会...
  2. 美国国父乔治华盛顿首任就职演说
  3. 360 随身wifi安装服务器系统,win7系统无法安装360随身WiFi的解决方法
  4. 十一假期,终于过上了理想的生活节奏
  5. MATLAB快速搭建一个神经网络以及神经网络工具箱的使用
  6. Apollo_Lattice palnner
  7. 计算机多媒体设备维护维修,学校多媒体教学设备的故障检修
  8. 打破汽车零部件企业供应链壁垒,数商云SCM供应链系统实现一体化采购协同
  9. python中spider的用法_Python爬虫从入门到放弃(十五)之 Scrapy框架中Spiders用法
  10. dell服务器全系列手册,DELL服务器 RAID配置中文手册.pdf