今天使用了一下查询缓存的功能
直接进入mysql进行set session query_cache_type=1/set global query_cache_type
都失败了不能够设置
解决方法:
在windows下打开C:\Users\All Users\MySQL\MySQL Server 5.6目录下的my.ini文件在里面找到query_cache_type(PS.安装目录下的my-default的配置没有用)
设置query_cache_type=1
缓存大小设置 query_cache_size=32M
查询设置好没有可使用
select @@query_cache_type;
show variables like ‘%query_cache%’
整理缓存
flush query cache; – 整理,不删除缓存数据
重置缓存
reset query cache ; – 可删除缓存内容
查看缓存使用情况
show status like ‘Qcache%’;
然后说下缓存查询的好处和弊端
好处:如果运行相同的SQL语句,服务器会直接从缓存中查询,不需要去解析和执行SQL语句,提高查询速度
弊端:增加了额外的服务器开销(查询语句会先看缓存中是否存在如果不存在才会执行SQL语句),如果对于改变频繁的表不适合使用缓存
如果想用缓存但是不想全部都用,可将query_cache_type=DEMAND
然后在想使用缓存查询功能的语句下使用SQL_CACHE
不想使用缓存查询功能的语句下使用SQL_NO_CACHE