首先看看MSYQL逻辑框架:图片来自高性能mysql

如果使用了QueryCache,当查询接收到一个和之前同样的查询,服务器将会从查询缓存中检索结果,而不是再次分析和执行相同的查询。这样就能大大提高查询性能。

打开查询缓存,要通过几个步骤来设置:
虽然你设置mysql允许查询缓存,但是如果你设置的查询缓存大小为了0,这和没有允许没什么区别。
所以必须是几个步骤的设置才能真正打开查询缓存这个功能。
下面演示最常用的设置查询缓存

一、 query_cache_type 使用查询缓存的方式

一般,我们会把 query_cache_type 设置为 ON,默认情况下应该是ON
mysql> select @@query_cache_type;

+--------------------+

| @@query_cache_type |

+--------------------+

| ON |

+--------------------+

这样 当我们执行 select id,name from tableName; 这样就会用到查询缓存。在 query_cache_type 打开的情况下,如果你不想使用缓存,需要指明selectsql_no_cache id,name from tableName;

当然也可以禁用查询缓存: mysql> set session query_cache_type=off;

当然也可以使用命令打开查询缓存:mysql> set session query_cache_type=on;

这里我们不讨论这个,我们演示常用的设置。

二、 系统变量 have_query_cache 设置查询缓存是否可用

mysql> show variables like 'have_query_cache';

+------------------+-------+

| Variable_name | Value |

+------------------+-------+

| have_query_cache | YES |

+------------------+-------+

上面的显示,表示设置查询缓存是可用的。

三、 系统变量 query_cache_size

表示查询缓存大小,也就是分配内存大小给查询缓存,如果你分配大小为0,

那么 第一步 和 第二步 起不到作用,还是没有任何效果。

mysql> select @@global.query_cache_size;

+---------------------------+

| @@global.query_cache_size |

+---------------------------+

| 16777216 |

+---------------------------+

上面是 mysql设置默认的,有的版本好像默认是0的,那么就要自己设置下。

设置 set @@global.query_cache_size=100000; 这里是设置1M左右。

再次查看下 select @@global.query_cache_size;

显示我们设置新的大小,表示设置成功。

四、 query_cache_limit 控制缓存查询结果的最大值

例如: 如果查询结果很大, 也缓存?这个明显是不可能的。

MySql 可以设置一个最大的缓存值来限制缓存,当你查询缓存数结果数据超过这个值就不会进行缓存。缺省为1M,也就是超过了1M查询结果就不会缓存。

mysql> select @@global.query_cache_limit;

+----------------------------+

| @@global.query_cache_limit |

+----------------------------+

| 1048576 |

+----------------------------+

这个是默认的数值,如果需要修改,就像设置缓存大小一样设置,使用set重新指定大小。

好了,通过4个步骤就可以 打开查询缓存了,具体值的大小和查询的方式 这个按需求来设定!。

MySQL查询缓存设置提高MySQL查询性能相关推荐

  1. mysql 查询缓存设置_MySQL查询缓存设置 提高MySQL查询性能

    从 MySQL4开始,出现了QueryCache查询缓存,如果使用了QueryCache,当查询接收到一个和之前同样的查询,服务器将会从查询缓存种检索结果,而不是再次分析和执行上次的查询.这样就大大提 ...

  2. mysql php 缓存机制_mysql数据库查询缓存原理是什么

    mysql数据库查询缓存原理是:1.缓存SELECT操作的结果集和SQL语句,key为sql,value为查询结果集:2.如果新的SELECT语句到了,以这个sql为key去缓存中查询,如果匹配,就把 ...

  3. mysql清除缓存_清空 MySQL 查询缓存

    MySQL 查询缓存 在 SQL 调优的过程中,发现原本很慢的一条 SQL(将近 1 分钟) 在第二次运行时, 瞬间就完成了(0.04sec). 这是因为 MySQL 自带的缓存机制,将查询结果进行缓 ...

  4. Win11怎么设置提高电脑游戏性能

    1.点击桌面的开始菜单,选择右上角的设置按钮. Win11怎么设置提高电脑游戏性能? 2.在左侧找到游戏并打开游戏模式界面. Win11怎么设置提高电脑游戏性能? 3.在打开的游戏模式中点击图形按钮. ...

  5. mysql 查询缓存设置

    1.首先查看mysql的缓存配置 SHOW VARIABLES LIKE '%query_cache%'; +----------+---+ | Variable_name | Value | +-- ...

  6. mysql中查询缓存优化以及慢查询

    1. 概述 开启Mysql的查询缓存,当执行完全相同的SQL语句的时候,服务器就会直接从缓存中读取结果,当数据被修改,之前的缓存会失效,修改比较频繁的表不适合做查询缓存 2. 操作流程 1.客户端发送 ...

  7. [技术]mysql 慢查询时间设置_Mysql 慢查询设置

    -- 查询是否设置慢查询 show variables like 'slow_query%'; -- 慢查询时间  -- show variables like 'long_query_time'; ...

  8. mysql 慢查询时间设置_Mysql 慢查询设置

    Mysql慢查询设置 分析MySQL语句查询性能的方法除了使用 EXPLAIN 输出执行计划,还可以让MySQL记录下查询超过指定时间的语句,我们将超过指定时间的SQL语句查询称为"慢查询& ...

  9. db2嵌套查询效率_提高DB2 查询性能的常用方法

    [IT168 技术文档]本文先对 DB2 提供的几种用于提高查询性能的相关工具和命令进行介绍,然后根据笔者的工作经验介绍一些常用的技巧和方法来提高查询性能.主要集中于如何创建和维护索引.改写查询以及改 ...

最新文章

  1. 如何写一篇不水的机器学习论文?这17页指南从建模、评估到写报告,手把手教你...
  2. Android零碎知识点-更新中
  3. VTK:可视化之BackgroundTexture
  4. React开发(266):ant design customRequest
  5. 自己定义ViewGroup控件(一)-----gt;流式布局进阶(一)
  6. 移动端返回上一页实现方法
  7. PX Deq: Execution Msg 等待事件
  8. 如何用手机打开dcm格式图片_实现原始Dicom自动转换BIDS格式 ——Heudiconv
  9. LeetCode笔记:39. Combination Sum
  10. 10个有用的网站访问分析工具
  11. C# TextBox光标位置设置 滚动到最后一行 显示最后一行 自动跳转最后一行
  12. 扩展GridView控件(3) - 根据按钮的CommandName设置其客户端属性
  13. 【JVM】Java命令以及JVM调优
  14. pandas DataFrame 分组求和
  15. c语言编程星号输出图形的步骤,使用C语言打印不同星号图案
  16. linux压缩文件zip,在 Linux 上压缩文件:zip 命令的各种变体及用法
  17. 你手写过堵塞队列吗?
  18. DevOps 小组运维管理手册
  19. Carla自动驾驶强化学习
  20. java 为pdf添加水印图片

热门文章

  1. 正则表达式的几个简单验证
  2. PHP获取windows登录用户名的方法
  3. cognos report上钻下钻报表处理方法(2)
  4. 创建maven的web项目,并用jetty调试
  5. docker基础容器中bash: vi: command not found问题解决
  6. 将Rosbag中的Compressed类型的图像转换成raw类型
  7. vc++ 类 定时器api_关于JS中一些重要的api实现, 巩固你的原生JS功底
  8. 计算机课程布置作业,计算机是如何工作的(教案)
  9. 队列和通知区别_Java多线程学习(五)——等待通知机制
  10. linux qt 甘特图,qt绘制甘特图