我的编程空间,编程开发者的网络收藏夹
学习永远不晚

MySQL query_cache_type 参数与使用详解

短信预约 信息系统项目管理师 报名、考试、查分时间动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

MySQL query_cache_type 参数与使用详解

MySQL设置查询缓存的用意:

  把查询到的结果缓存起来,下次再执行相同查询时就可以直接从结果集中取;这样就比重新查一遍要快的多。

查询缓存的最终结果是事与愿违:

  之所以查询缓存并没有能起到提升性能的做用,客观上有如下两点原因

  1、把SQL语句的hash值作为键,SQL语句的结果集作为值;这样就引起了一个问题如 select user from mysql.user 和 SELECT user FROM mysql.user

  这两个将会被当成不同的SQL语句,这个时候就算结果集已经有了,但是一然用不到。

  2、当查询所基于的低层表有改动时与这个表有关的查询缓存都会作废、如果对于并发度比较大的系统这个开销是可观的;对于作废结果集这个操作也是要用并发

  访问控制的,就是说也会有锁。并发大的时候就会有Waiting for query cache lock 产生。

  3、至于用不用还是要看业务模型的。

如果何配置查询缓存:

  query_cache_type 这个系统变量控制着查询缓存工能的开启的关闭。

  query_cache_type=0时表示关闭,1时表示打开,2表示只要select 中明确指定SQL_CACHE才缓存。

  这个参数的设置有点奇怪,1、如果事先查询缓存是关闭的然而用 set @@global.query_cache_type=1; 会报错

  ERROR 1651 (HY000): Query cache is disabled; restart the server with query_cache_type=1 to enable it

如果事先是打开着的尝试去闭关它,那么这个关闭也是不完全的,这种情况下查询还是会去尝试查找缓存。

  最好的关闭查询缓存的办法就是把my.cnf 中的query_cache_type=0然后再重启mysql。

查询缓存相关的系统变量:

  have_query_cache  表示这个mysql版本是否支持查询缓存。

  query_cache_limit   表示单个结果集所被允许缓存的最大值。

  query_cache_min_res_unit  每个被缓存的结果集要占用的最小内存。

  query_cache_size  用于查询缓存的内存大小。

如何监控查询缓存的命中率:

  Qcache_free_memory  查询缓存目前剩余空间大小。

  Qcache_hits      查询缓存的命中次数。

  Qcache_inserts      查询缓存插入的次数。

  也就是说缓存的命中率为 Qcache_hits/(Qcache_hits+Qcache_inserts)

一般单独设置这个可不行,得结合,建议看一下下面的文章

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

MySQL query_cache_type 参数与使用详解

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

MySQL query_cache_type 参数与使用详解

MySQL设置查询缓存的用意:把查询到的结果缓存起来,下次再执行相同查询时就可以直接从结果集中取;这样就比重新查一遍要快的多。 查询缓存的最终结果是事与愿违:之所以查询缓存并没有能起到提升性能的做用,客观上有如下两点原因1、把SQL语句的h
2022-05-25

MySQL中query_cache_type参数与使用的示例分析

这篇文章主要为大家展示了“MySQL中query_cache_type参数与使用的示例分析”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“MySQL中query_cache_type参数与使用的示
2023-06-20

C++ 函数参数详解:参数类型推导与模板函数的使用

c++++ 参数类型推导和模板函数:参数类型推导: auto 关键字可自动推断参数类型,简化声明并增强可读性。模板函数: 可接受不同类型数据,根据类型执行不同操作,语法:template void print(t x)。实战案例: 使用模
C++ 函数参数详解:参数类型推导与模板函数的使用
2024-04-27

Mysql explain 各参数详解

id序号select_typesimple:即简单select 查询,不包含union及子查询;primary:最外层的 select 查询;union:表示此查询是 union 的第二或随后的查询;dependentunion:union 中的第二个或后面的
Mysql explain 各参数详解
2016-04-15

Linux rpm 命令参数使用详解

rpm 执行安装包 二进制包(Binary)以及源代码包(Source)两种。二进制包可以直接安装在计算机中,而源代码包将会由RPM自动编译、安装。源代码包经常以src.rpm作为后缀名。 常用命令组合: -ivh:安装显示安装进度--in
2022-06-04

mysql存储过程IN,OUT,INOUT参数模式使用详解

IN模式 : 参数输入模式   OUT模式 : 参数输出模式   INOUT模式 : 作为输入和输出模式 区别: in类型:内部运算变化不影响外部; out类型:内部运算变化影响外部变化并且传参到储存过程时默认初始化参数为null; inout类型:与
mysql存储过程IN,OUT,INOUT参数模式使用详解
2017-09-18

vue中使用window.open()参数示例详解

这篇文章主要介绍了vue中使用window.open()参数详解,本文通过示例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
2023-05-17

linux的ln命令使用参数详解

本篇内容主要讲解“linux的ln命令使用参数详解”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“linux的ln命令使用参数详解”吧!这是linux中一个非常重要命令,请大家一定要熟悉。它的功能
2023-06-13

Python函数参数分类使用与新特性详细分析讲解

在声明函数的时候,一般会根据函数所要实现的功能来决定函数是否需要参数。在多数情况下,我们声明的函数都会使用到参数,这篇文章主要介绍了Python函数参数
2023-01-28

编程热搜

目录