zoukankan      html  css  js  c++  java
  • MySQL-缓存

    第一: 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 打开的情况下,如果你不想使用缓存,需要指明select sql_no_cache id,name from tableName;当然也可以禁用查询缓存: mysql> set session uery_cache_type=off;
    这里我们不讨论这个,我们演示常用的设置。
    第二: 系统变量 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 |
    +—————————+
    上面是 mysql6.0设置默认的,之前的版本好像默认是0的,那么就要自己设置下。
    设置 set @@global.query_cache_size=1000000; 这里是设置1M左右,900多K。
    再次查看下 select @@global.query_cache_size;
    +—————————+
    | @@global.query_cache_size |
    +—————————+
    | 999424 |
    +—————————+
    显示我们设置新的大小,表示设置成功。
    第四: query_cache_limit 控制缓存查询结果的最大值
    例如: 如果查询结果很大, 也缓存????这个明显是不可能的。
    MySql 可以设置一个最大的缓存值,当你查询缓存数结果数据超过这个值就不会
    进行缓存。缺省为1M,也就是超过了1M查询结果就不会缓存。

    mysql> select @@global.query_cache_limit;

    +—————————-+
    | @@global.query_cache_limit |
    +—————————-+
    | 1048576 |
    +—————————-+
    这个是默认的数值,如果需要修改,就像设置缓存大小一样设置,使用set重新指定大小。
    好了,通过4个步骤就可以 打开了查询缓存,具体值的大小和查询的方式 这个因不同的情况来指定了。

    其它命令:

    1.碎片整理

    mysql> flush query cache;

    2.清除缓存

    mysql> reset query cache;

    3.查看缓存状态

    mysql> show status like 'qcache%';

    4.查看缓存中有多少条数据

    mysql> show status like 'qcache_q%';

  • 相关阅读:
    Spring Boot 使用 Dom4j XStream 操作 Xml
    Spring Boot 使用 JAX-WS 调用 WebService 服务
    Spring Boot 使用 CXF 调用 WebService 服务
    Spring Boot 开发 WebService 服务
    Spring Boot 中使用 HttpClient 进行 POST GET PUT DELETE
    Spring Boot Ftp Client 客户端示例支持断点续传
    Spring Boot 发送邮件
    Spring Boot 定时任务 Quartz 使用教程
    Spring Boot 缓存应用 Memcached 入门教程
    ThreadLocal,Java中特殊的线程绑定机制
  • 原文地址:https://www.cnblogs.com/wangxusummer/p/4078887.html
Copyright © 2011-2022 走看看