MYSQL缓存配置及优化

查询缓存配置

1.查看当前的MySQL数据库是否支持查询缓存:

 SHOW VARIABLES LIKE 'have_query_cache' ;

2.查看当前MySQL是否开启了查询缓存:

 SHOW VARIABLES LIKE 'query_cache_type' ;

3.查看查询缓存的占用大小:

SHOW VARIABLES LIKE 'query_cache_size' ;

4.查看查询缓存的状态变星:

SHOW STATUS LIKE 'Qcache%' ;

Qcache_ free_ blocks
查询缓存中的可用内存块数
Qcache_ free_memory
查询缓存的可用内存量
Qcache_ hits
查询缓存命中数
Qcache_ jinserts
添加到查询缓存的查询数
Qcache_ Jowmen. prunes
由于内存不足而从查询缓存中删除的查询数
Qcache not. cached
非缓存查询的数量(由于query. cache. type设置而无法缓存或未缓存)
Qcache_ queries_ jin. cache
查询缓存中注册的查询数
Qcache_ total blocks
查询缓存中的块总数

开启查询缓存

MySQL的查询缓存默认是关闭的,需要手动配置参数query_cache_type , 来开启查询缓存。query_cache_type该参数的可取值有三个值
OFF或0 查询缓存功能关闭
ON或1查询缓存功能打开, SELECT的结果符合缓存条件即会缓存,否则,不予缓存,显式指定SQL_NO_ CACHE ,不予缓存
DEMAND或2查询缓存功能按需进行,显式指定SQL CACHE的SELECT语句才会缓存;其它均不予缓存

在/usr/my.cnf配置中,增加以下配置:

query_cache_type=1

查询缓存SELECT选项

可以在SELECT语询中指定两个与查询缓存相关的选项:
SQL CACHE :如果查询结果是可缓存的,并且query. .cache_ type系统变量的值为ON或DEMAND , 则缓存查询结果。
SQL NO_ CACHE :服务器不使用查询缓存。它既不检查查询缓存,也不检查结果是否已缓存,也不缓存查询结果。
例子:

 SELECT SQL_CACHE id, name FROM customer ;
 SELECT SQL_NO_CACHE id, name FROM customer;
查询缓存失效的情况
  1. SQL句不一致的情况,要想命中查询缓存,查询的SQL语句必须-致。
select count(*) from tb_item;
Select count(*) from tb_item;

2)当查询语句中有一些不确定的时 ,则不会缓存。如: now), current. date() , curdate(), curtime(), rand() , uuid() , user() , database()。

select * from tb_ item where updatetime < now() limit 1;
select user();
select database();

3)不使用任何表查询语句。

 select 'A';

4)查询mysql,information. schema或performance_ schema数据库中的表时,不会走查询缓存。

 select*from information_ schema. engines ;

5)在存储的函数,触发器或事件的主体内执行的查询。

6)如果表更改,则使用该表的所有高速缓存查询都将变为无效并从高速缓存中删除。这包括使用MERGE映射到已更改表的表的查询。一个表可以被许多类型的语句,如被改变INSERT,UPDATE,DELETE ,TRUNCATE TABLE,ALTER TABLE,DROP TABLE ,或DROP DATABASE

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值