mysql手册11_查询缓存优化

mysql手册11_查询缓存优化


当开启查询缓存,执行了相同sql查询操作时,服务器会直接从查询缓存中读取结果,当数据被修改后,缓存失效

修改频繁的表不适合设置查询缓存。

查询缓存参数的配置:

注:Mysql8.0已经不再支持查询缓存功能

查看当前数据库是否支持查询缓存:
show variables like "have_query_cache";
+------------------+-------+
| Variable_name    | Value |
+------------------+-------+
| have_query_cache | NO    |
+------------------+-------+

查看查询缓存开关是否开启:
show variables like "query_cache_type";

查看查询缓存的占用大小(单位:字节):
show variables like "query_cache_size";

查看查询缓存的状态信息:
show status like "Qcache%";

开启查询缓存:
在linux系统下,修改/usr/my.cnf 配置文件,添加:query_cache_type=1,保存,重启mysql。

语句指定是否走缓存:
缓存:select sql_cache id,name from user;
不缓存:select sql_no_cache id,name from user;

查询缓存失效场景:

1. sql语句不一致(大小写不一致也算)
2. 语句中有now(),rand(),uuid()等不确定信息
3. 查询mysql系统数据库时不使用缓存
4. 在存储过程、函数、触发器内执行的查询不使用缓存
5. 表发生修改操作后,缓存失效

你可能感兴趣的:(数据库技术)