zoukankan      html  css  js  c++  java
  • MySQL知识总结(缓存)

    1.缓存机制概念

    缓存机制简单的说就是缓存sql文本及查询结果,如果运行相同的sql,服务器直接从缓存中取到结果,而不需要再去解析和执行sql。如果表更改了,那么使用这个表的所有缓冲查询将不再有效,查询缓存值的相关条目被清空。更改指的是表中任何数据或是结构的改变,包括INSERT、UPDATE、DELETE、TRUNCATE、ALTER TABLE、DROP TABLE或DROP DATABASE等,也包括那些映射到改变了的表的使用MERGE表的查询。显然,这对于频繁更新的表,查询缓存是不适合的,而对于一些不常改变数据且有大量相同sql查询的表,查询缓存会节约很大的性能。
    查询必须是完全相同的(逐字节相同)才能够被认为是相同的。另外,同样的查询字符串由于其它原因可能认为是不同的。使用不同的数据库、不同的协议版本或者不同 默认字符集的查询被认为是不同的查询并且分别进行缓存。

    2.查询缓存相关参数

    mysql> SHOW VARIABLES LIKE '%query_cache%';

    3.简单的例子:

    mysql> use zzlp;
    mysql> show tables;

    mysql> select count(*) from user;

    #Qcache_hits表示sql查询在缓存中命中的累计次数,是累加值
    mysql> SHOW STATUS LIKE 'Qcache_hits';

    #连续查询两次
    mysql>  select count(*) from user;
    mysql>  select count(*) from user;

    mysql> insert into user (id) select id from article; --插入数据后,跟这个表所有相关的sql缓存就会被清空掉
    mysql> select count(*) from user;

    mysql> SHOW STATUS LIKE 'Qcache_hits';

    mysql> select count(*) from user;

    输入图片说明

    mysql> select count(*) from user;
    mysql> SHOW STATUS LIKE 'Qcache_hits';

    输入图片说明

  • 相关阅读:
    服务部署 RPC vs RESTful
    模拟浏览器之从 Selenium 到splinter
    windows程序设计 vs2012 新建win32项目
    ubuntu python 安装numpy,scipy.pandas.....
    vmvare 将主机的文件复制到虚拟机系统中 安装WMware tools
    ubuntu 修改root密码
    python 定义类 简单使用
    python 定义函数 两个文件调用函数
    python 定义函数 调用函数
    python windows 安装gensim
  • 原文地址:https://www.cnblogs.com/banma/p/6542040.html
Copyright © 2011-2022 走看看