• mysql查询缓存


    什么是查询缓存?

    mysql服务器提供的,用于缓存select语句结果的一种内部内存缓存系统。

    如果开启了查询缓存,将所有的查询结果,都缓存起来,使用同样的select语句,再次查询时,直接返回缓存的结果即可

    查看缓存设置:show variables  like 'query_cache%';

    query_cache_size:预留缓存空间大小

    query_cache_type:是否有开启缓存

    query_cache_type 

        查询缓存类型,有0、1、2三个取值。0则不使用查询缓存。1表示始终使用查询缓存。2表示按需使用查询缓存。 
        如果query_cache_type为1而又不想利用查询缓存中的数据,可以用下面的SQL: 
    SELECT SQL_NO_CACHE * FROM my_table WHERE condition;
        如果值为2,要使用缓存的话,需要使用SQL_CACHE开关参数:
    SELECT SQL_CACHE * FROM my_table WHERE condition;

    缓存失效 

    数据表的数据有变化(update/delete/add) 或者 数据表结构(字段的增、减)有变化,则会清空全部的缓存数据,即缓存失效。

    适用场景:所以查询缓存适合有大量相同查询的应用,不适合有大量数据更新的应用

    注意:如果第二次查询的SQL和第一次查询的SQL完全相同(注意必须是完全相同,即使多一个空格或者大小写不同都认为不同)且开启了查询缓存,那么第二次查询就直接从查询缓存中取结果。

    查看缓存使用情况

    show status like 'Qcache%'; 

     

  • 相关阅读:
    sublime Text3 常用插件
    No input file specified. nginx服务器报错解决
    has~和belongsTo的区别?
    关于在phpStudy环境下,windows cmd中 php不是内部命令问题
    spring @RequestMapping注解技巧
    VIM快捷键
    Thinkphp5 模块的自动生成
    在php中define和const定义常量的区别
    go语言学习(六)——并发编程
    go语言学习(五)——面向对象编程
  • 原文地址:https://www.cnblogs.com/jdbeyond/p/11369220.html
Copyright © 2020-2023  润新知