加入收藏 | 设为首页 | 会员中心 | 我要投稿 云计算网_泰州站长网 (http://www.0523zz.com/)- 视觉智能、AI应用、CDN、行业物联网、智能数字人!
当前位置: 首页 > 站长学院 > MySql教程 > 正文

怎么启用MySQL的查询语句缓存

发布时间:2022-06-20 14:21:44 所属栏目:MySql教程 来源:互联网
导读:查询语句缓存意思就是大量操作时我们会保存上次查询的数据以减少数据库查询次数从而提升mysql访问性能,下面我们一起来看如何启用MySQL的查询语句缓存吧. 启用MySQL的查询语句缓存,在这里,我们将查询语句缓存设为64MB,代码如下: [mysqld] query_cache_size=64
  查询语句缓存意思就是大量操作时我们会保存上次查询的数据以减少数据库查询次数从而提升mysql访问性能,下面我们一起来看如何启用MySQL的查询语句缓存吧.
  
  启用MySQL的查询语句缓存,在这里,我们将查询语句缓存设为64MB,代码如下:
 
  [mysqld]
 
  query_cache_size=64M
 
  当前查询语句缓存的大小,可以通过MySQL的SHOW VARIABLES命令来查看,代码如下:
 
  mysql>SHOW VARIABLES;
  ... //phpfensi.com
  | query_cache_size |555-55554
  | query_cache_type | ON
  
  工作原理:查询缓存的工作原理,基本上可以概括为:
 
  缓存SELECT操作或预处理查询,注释,5.1.17开始支持,的结果集和SQL语句;
 
  新的SELECT语句或预处理查询语句,先去查询缓存,判断是否存在可用的记录集,判断标准:与缓存的SQL语句,是否完全一样,区分大小写.
 
  查询缓存对什么样的查询语句,无法缓存其记录集,大致有以下几类:
 
  查询语句中加了SQL_NO_CACHE参数;
 
  查询语句中含有获得值的函数,包涵自定义函数,如:CURDATE()、GET_LOCK()、RAND()、CONVERT_TZ等;
 
  对系统数据库的查询:mysql、information_schema
 
  查询语句中使用SESSION级别变量或存储过程中的局部变量;
 
  查询语句中使用了LOCK  IN SHARE MODE、FOR UPDATE的语句
  
  某用户只有列级别权限的查询语句;
 
  查询缓存的优缺点:不需要对SQL语句做任何解析和执行,当然语法解析必须通过在先,直接从Query  Cache中获得查询结果.
 
  查询缓存的判断规则,不够智能,也即提高了查询缓存的使用门槛,降低其效率;
 
  Query Cache的起用,会增加检查和清理Query Cache中记录集的开销,而且存在SQL语句缓存的表,每一张表都只有一个对应的全局锁;

(编辑:云计算网_泰州站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读