当前位置: 首页 > article >正文

mysql的一次优化,同版本mysql服务器上的运行速度比本地慢很多

文章目录

  • mysql运行速度本地比服务器快
    • 场景描述:
    • 查找原因
    • 修改方案

mysql运行速度本地比服务器快

场景描述:

都是mysql5.5,本地是机械盘,服务器是固态盘,执行同样的查询代码,本地是6秒,服务器是12秒。这就不对了,理论上服务器配置比我的电脑高很多,怎么会比我的慢一倍。我查询的数据量比较大,慢是可以理解的,但是服务器比本地的慢就不能理解。

查找原因

首先,经过慢查询和缓冲池查看,两者都没区别。下面是查看缓冲池代码:

show variables like 'innodb_buffer_pool%'

最后查看数据库缓存配置,发现服务器mysql开启缓存,但是可使用缓存容量为0,下图中原先为0,这是修改后的
mysql缓存配置

修改方案

可以查看目前的缓存配置的命令

show variables like '%query_cache%'

设置的方法为在 my.ini中
找到query_cache_size,设置值

query_cache_size=128M

如果开始的查询结果中query_cache_type没开启
增加一行

query_cache_type=1

query_cache_type参数用于控制缓存的类型,注意这个值不能随便设置,必须设置为数字

  • 如果设置为0,那么可以说,你的缓存根本就没有用,相当于禁用了。
  • 如果设置为1,将会缓存所有的结果,除非你的select语句使用SQL_NO_CACHE禁用了查询缓存。
  • 如果设置为2,则只缓存在select语句中通过SQL_CACHE指定需要缓存的查询。

OK,配置完后的部分文件如下:

query_cache_size=128M
query_cache_type=1

保存文件,重新启动MYSQL服务。
进行测试。
设置缓存后,服务器的运行速度为2秒,比本地快了3倍,本地是6秒

query_cache_wlock_invalidate:控制当有写锁定发生在表上的时刻是否先失效该表相关的 Query Cache,

  • 如果设置为 1(TRUE),则在写锁定的同时将失效该表相关的所有 Query Cache,
  • 如果设置为0(FALSE)则在锁定时刻仍然允许读取该表相关的 Query Cache。

http://www.kler.cn/a/416910.html

相关文章:

  • 智能化Kubernetes管理:AI与ChatGPT提升运维效率的创新实践
  • 【Python网络爬虫笔记】6- 网络爬虫中的Requests库
  • ICPM端口的用途是什么?
  • maven,java相关调试等
  • 详解collections库常用的数据结构
  • Cookie跨域
  • Github 2024-11-30 Rust开源项目日报 Top10
  • AWS账户注册未完成会收费吗?
  • 【JavaScript】同步异步详解
  • 阿里云服务器(centos7.6)部署前后端分离项目(MAC环境)
  • 七天掌握SQL——第六天:数据库性能优化与监控
  • java 接口防抖
  • SpringBoot 新冠密接者跟踪系统:校园疫情防控的智能守护者
  • 使用 pycharm 新建使用 conda 虚拟 python 环境的工程
  • 【JAVA】反射和注解
  • 设计模式----迭代器模式
  • 项目学习:仿b站的视频网站项目06 -视频分类01
  • 文档加密怎么做才安全?
  • flutter in_app_purchase google支付 PG-GEMF-01错误
  • java面向对象知识点: 封装,构造,重载
  • 安装软件显示乱码天正2014安装报错修复
  • SeggisV1.0 遥感影像分割软件【源代码】讲解
  • QT按下两次按钮,保存这期间内变换的QtextEdit控件内的数据
  • 「Mac畅玩鸿蒙与硬件37」UI互动应用篇14 - 随机颜色变化器
  • PDF文件怎么加密?如何给pdf文档加密码保护?(2025全新科普)
  • css使盒子在屏幕的地点固定