1、概念
MySQL查询缓存:将sql语句作为键,查询返回的结果作为值,第一次执行完毕后生成,后期直接获取,从而加快查询速度(注:键区分大小写)
2、相关SQL语句
-> 查看SQL缓存参数:show variables like '%query_cache%';
-> 开启SQL缓存:
set global query_cache_type = 1;
-> 关闭SQL缓存:
set global query_cache_type = 0;
-> 设置缓存空间:
set global query_cache_size = 1024*1024*64
(64M)-> 固定SQL语句声明不适用缓存:
select sql_no_cache * from 表名
注意:改变SQL语句的大小写或者数据表有数据改动,则不会调用缓存。
3、关于优化
-> 速度:内存 > 文件 > MySQL数据库
-> 明确:MySQL有缓存机制,不推荐使用(在上游优化提升性能)
-> 其次:更好的解决方案,通过PHP
#假设缓存文章数据
$data = file_get_content('./article1.php');
if (empty($data)){
$data = 连接数据库获取数据
file_put_content('./article'.文章ID.'.php');
}
将$data传递给视图