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‘;

时间: 2025-01-06 09:15:51

MySQL知识总结(缓存)的相关文章

两个容易被忽略的mysql知识

原文:两个容易被忽略的mysql知识 为什么标题要起这个名字呢?commen sence指的是那些大家都应该知道的事情,但往往大家又会会略这些东西,或者对这些东西一知半解,今天我总结下自己在mysql中遇到的一些commen sense类型的问题. 1.varchar(5)可以存储多少个汉字,多少个字母数字? 相信有好多人应该跟我一样,对这个已经很熟悉了,根据经验我们能很快的做出决定,比如说用varchar(200)去存储url等等,但是,即使你用了很多次也很熟悉了,也有可能对上面的问题做出错误

马哥的mysql知识

关系模型:(结构化数据模型)关系模型实体-关系模型对象关系模型:基于对象的数据模型半结构化数据模型:XML(扩展标记语言)<name>Jerry</name><age>50</age>gender: name: uid: birthdate: name:age:gender name:uid:birthdate 关系:关系代数运算交集:并集:差集:全集:补集: SQL:Structure Query Language 70System R: SQL Ingr

MySQL知识树-支持的数据类型

本篇学习笔记的主要内容: 介绍MySQL支持的各种数据类型(常用),并讲解其主要特点.   MySQL支持多种数据类型,主要包括数值类型.日期和时间类型.字符串类型. 数值类型 MySQL的数值类型包括整数类型.浮点数类型.定点数类型.位类型. 整数类型 MySQL支持的整数类型有tinyint.smallint.mediumint.int.bigint(范围从小到大). zerofill 我们在定义整数类型时可以在类型名称后面的小括号内指定显示宽度,例如int(5),当插入的数值宽度小于5位时

MySQL知识总结(二)

上一篇MySQL知识总结(一)的传送门:http://www.cnblogs.com/rosestudy/p/4820234.html 四.关系运算基础 选择运算(行运算 单表操作) 投影(列运算 单表操作) 连接运算(多表操作) 等值连接:常用条件是两个表的某些列值相等 自然连接:要求两个表有共同的属性(列),自然连接运算的结果集是在参与操作两个表的共同属性上进行等值连接后,再去除重复的属性所得的新表 五.MySQL数据库查询 选择SELECT列 选择指定列 定义列别名  格式:select

mysql查看查询缓存是否启用

查看查询缓存情况: mysql> show variables like '%query_cache%'; (query_cache_type 为 ON 表示已经开启) +------------------------------+----------+ | Variable_name                | Value    | +------------------------------+----------+ | have_query_cache             |

MySQL知识树-查询语句

在日常的web应用开发过程中,一定会涉及到数据库方面的操作,其中查询又是占绝大部分的.我们不仅要会写查询,最好能系统的学习下与查询相关的知识点,这篇文章我们就来一起看看MySQL查询知识相关的树是什么样的. MySQL查询知识树: 一.查询的种类 二.查询的原理 三.查询的应用场景 四.查询的效率比较 五.如何进行查询优化 六.与查询相关的知识扩展 一.查询的种类 MySQL的查询可以分为内连接查询.左连接查询.右连接查询.联合查询. ①内连接是通过关联表中共有的列来匹配出记录,查询出来的数据是

Mysql知识汇总笔记

一.关于表连接 1. 表连接主要包括外连接和内连接,内连接只是选出连接的两张表中的相匹配的记录,但是外连接会选出其它不匹配的记录.内连接和外连接有不同的应用场景. 2. 左连接是以左边表中的记录为准,如果右边表中没有和左边表相匹配的记录,左边表的记录还是会显示. 3. 右连接是以右边表中的记录为准,如果左边表中没有和右边表相匹配的记录,右边表的记录还是会显示. 4. 由2和3中可以知道,左连接和右连接是可以互相转换的 二.关于内建函数,需要用的时候可以查表,尽量使用这些函数,避免自己实现 1.

MySQL知识小结

MySQL的知识面试中还是经常被问到的,简单的使用似乎无法达到面试官的要求,很多问题会关于Mysql存储引擎,所以这里还是需要系统学习一下Mysql的一些知识,面试过程中游刃有余. MySQL体系结构 MySQL是多个子系统构成的层次化的系统. a.Connectors:用来与客户端应用程序建立连接的数据库接口.(提供各种高级语言的版本,比如之前的Mysql-python-connector). b.Management Services & Utilities:系统管理与服务控制相关的辅助工具

用Redis作为Mysql数据库的缓存【转】

用Redis作Mysql数据库缓存,必须解决2个问题.首先,应该确定用何种数据结构存储来自Mysql的数据:在确定数据结构之后,还要考虑用什么标识作为该数据结构的键. 直观上看,Mysql中的数据都是按表存储的:更微观地看,这些表都是按行存储的.每执行一次select查询,Mysql都会返回一个结果集,这个结果集由若干行组成.所以,一个自然而然的想法就是在Redis中找到一种对应于Mysql行的数据结构.Redis中提供了五种基本数据结构,即字符串(string).列表(list).哈希(has