mysql 缓存机制
MySQL8.0已经取消了查询缓存。如果是小型项目,又不想用Reids或者MC等缓存,查询结果相对固定,可以在MySQL5.7以下版本设置缓存。 执行逻辑: mysql缓存机制就是 缓存sql 文本 及 缓存结果 ,用key value 的形式存储在服务器内存中; 如果运行相同的sql,服务器直接从缓存中去获取结果,不需要在再去解析、优化、执行sql。 缓存失效: 如果这个表修改了,那么这个表中的所有缓存将不再有效,查询缓存 的值 的相关条目将被清空。 表中得任何改变是指表中任何数据或者是结构的改变,包括insert,update,delete,truncate,alter table,drop table或者是drop database 包括那些映射到改变了的表的使用merge表的查询; Query Cache的工作原理、如何配置、如何维护、如何判断查询缓存的性能、适合的业务场景分析。 工作原理 查询缓存的工作原理,基本上可以用二句话概括: 缓存了:SELECT操作或预处理查询(注释:5.1.17开始支持)的结果集和SQL语句; 新的SELECT语句或预处理查询语句,先去查询缓存,判断是否存在可用的记录集,判断标准:与缓存的SQL语句,是否完全一样,区分大小写; 查询缓存对什么样的查询语句,无法缓存其记录集,大致有以下几类: 查询语句中加了SQL_NO_CACHE参数;