• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    详解mysql查询缓存简单使用

    MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,属于 Oracle 旗下产品。MySQL 是最流行的关系型数据库管理系统之一,在 WEB 应用方面,MySQL是最好的 RDBMS (Relational Database Management System,关系数据库管理系统) 应用软件之一。

    当我们开启Mysql的查询缓存,当执行完全相同的SQL语句的时候,服务器就会直接从缓存中读取结果。当数据被修改, 之前的缓存会失效,所以修改比较频繁的表不适合做查询缓存。

    一、查询缓存的实现流程

    二、配置查询缓存

    1、查看当前的mysql数据库是否支持查询缓存

    SHOW VARIABLES LIKE 'have_query_cache';

    2、查看当前mysql是否开启了查询缓存

    SHOW VARIABLES LIKE 'query_cache_type';

    3、查看查询缓存的占用大小

    SHOW VARIABLES LIKE 'query_cache_size';

    4、查看查询缓存的状态变量

    SHOW STATUS LIKE 'Qcache%';

    参数 含义
    Qcache_free_blocks 查询缓存中的可用内存块数
    Qcache_free_memory 查询缓存的可用内存量
    Qcache_hits 查询缓存命中数
    Qcache_inserts 添加到查询缓存的查询数
    Qcache_lowmen_prunes 由于内存不足而从查询缓存中删除的查询数
    Qcache_not_cached 非缓存查询的数量(由于 query_cache_type 设置而无法缓存或未缓存)
    Qcache_queries_in_cache 查询缓存中注册的查询数
    Qcache_total_blocks 查询缓存中的块总数

    三、开启查询缓存

    MySQL的查询缓存默认是关闭的,需要手动配置参数 query_cache_type , 来开启查询缓存。query_cache_type
    该参数的可取值有三个

    含义
    OFF 或 0 查询缓存功能关闭
    ON 或 1 查询缓存功能打开,SELECT的结果符合缓存条件即会缓存,否则,不予缓存,显式指定 SQL_NO_CACHE,不予缓存
    DEMAND 或 2 查询缓存功能按需进行,显式指定 SQL_CACHE 的SELECT语句才会缓存;其它均不予缓存

    1、在usr/my.cnf中进行配置(配置文件也可能在/etc/my.cnf)

    2、重启服务

    service mysql restart

    3、测试


    四、查询缓存SELECT选项

    可以在SELECT语句中指定两个与查询缓存相关的选项

    SELECT SQL_CACUE id,name FROM customer;
    SELECT SQL_NO_CACHE id,name FROM customer;

    五、查询缓存失效现象

    1、SQL语句不一致

    要想命中缓存,查询的SQL语句必须一致

    SQL1:select count(*) from tb_item;
    SQL2:select count(*) from tb_Item;

    2、查询语句有一些不确定的值

    SQL1:select * from tb_item where updatetime  now() limit 1;
    SQL2:select user();
    SQL3:select database();

    3、不使用任何表查询语句

    select 'A';

    4、查询mysql、information_schema或performance_schema数据库中的表

    select * from information_schema.engines;

    5、在存储的函数、触发器或事件主体内执行的查询

    如题

    6、表更改导致缓存删除

    如果表更改,则使用该表的所有高速缓存查询都将变为无效并从高速缓存中删除。这包括使用 MERGE 映射到 已更改表的表的查询。一个表可以被许多类型的语句,如被改变 INSERT, UPDATE, DELETE, TRUNCATE TABLE, ALTER TABLE, DROP TABLE,或 DROP DATABASE 。

    以上便是关于mysql查询缓存简单使用总结

    到此这篇关于详解mysql查询缓存简单使用的文章就介绍到这了,更多相关mysql查询缓存使用内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

    您可能感兴趣的文章:
    • MySQL查询缓存的小知识
    • MySQL缓存的查询和清除命令使用详解
    • MySQL的查询缓存机制基本学习教程
    • 清空mysql 查询缓存的可行方法
    • mysql的查询缓存说明
    • mysql 设置查询缓存
    上一篇:gorm操作MySql数据库的方法
    下一篇:详解记录MySQL中lower_case_table_names的坑
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

    详解mysql查询缓存简单使用 详解,mysql,查询,缓存,简单,