mysql基础(五)查询缓存
admin
2023-05-18 12:42:18
0次
缓存的有缺点
    1、如果命中缓存,直接从缓存中返回,减少分析和执行SQL语句的过程,提高查询效率
    2、缓存会带来额外的开销,如果开启缓存的代价大于不开启缓存的代价则不建议开启缓存

    
缓存的开销
    1、读查询在开始之前会先检查查询缓存
    2、若某个读查询可以被缓存且未被缓存,那么当完成执行后,MySQL会将其结果存入查询缓存
    3、对写操作也有影响,因为当写入数据时,MySQL必须将对应表的所有缓存都设置失效,
    这在缓存内存较大时将导致很大的系统消耗,所以缓存内存并不是越大越好

    
mysql查询缓存
    1、用于保存查询语句返回的结果,命中时,MySQL会立即返回结果,省去解析、优化和执行等步骤
   2、MySQL保存结果于缓存中,对select语句做hash计算,计算的结果作为key,查询结果作为value
  3、mysql查询缓存对大小写敏感,所以使用SQL时尽量使用同一种风格
    
  
不会被缓存的语句
  1、不确定的数据,不会缓存,如now(),current_time()等
  2、若查询SQL中包含用户自定义函数,存储函数,用户变量,临时表,mysql库中系统表
  3、SQL中包含字段权限
  
  
与缓存相关的服务器变量
mysql> SHOW VARIABLES LIKE 'query%';		#查看和查询缓存相关的系统变量
    query_cache_type: 是否打开缓存	
	OFF: 关闭    ON: 打开    DEMAND: 只有明确写了SQL_CACHE的查询才会写入缓存
    query_cache_size: 缓存使用的总内存空间大小,单位是字节,这个值必须是1024的整数倍
    query_cache_min_res_unit: 分配的最小内存块大小,太大可能导致内存碎片,太小可能导致频繁请求内存
    query_cache_limit: 能够缓存的最大结果,如果超出这个大小则清处已经缓存的数据
    query_cache_wlock_invalidate: 如果某个数据表被锁住,是否仍然从缓存中返回数据,OFF:表示可以返回



mysql> SHOW STATUS LIKE '%qcache%';		#查看缓存状态
    Qcache_free_blocks		#缓存池中空闲块的个数
    Qcache_free_memory		#缓存中空闲内存量
    Qcache_hits			#缓存命中次数
    Qcache_inserts		#缓存写入次数
    Qcache_lowmen_prunes	#因内存不足删除缓存次数
    Qcache_not_cached 		#查询未被缓存次数
    Qcache_queries_in_cache 	#当前缓存中缓存的SQL数量
    Qcache_total_blocks 	#缓存的总内存块


是否使用缓存
    1. 通过缓存命中率判断, 缓存命中率 = 缓存命中次数 (Qcache_hits) / 查询次数 (Com_select)
    2. 通过缓存写入率, 写入率 = 缓存写入次数 (Qcache_inserts) / 查询次数 (Com_select)
    3. 通过 命中-写入率 判断, 比率 = 命中次数 (Qcache_hits) / 写入次数 (Qcache_inserts)
	3:1则算是查询缓存有效,而最好能够达到10:1
	
    mysql> SHOW GLOBAL STATUS LIKE 'com_select';		#查看查询次数


分析和配置查询缓存

mysql基础(五)查询缓存




相关内容

热门资讯

空调连续工作多久需要停机休息 空调连续工作的时间取决于多个因素,包括空调的型号、功率、使用环境和维护情况等。一般来说,空调可以连续...
空调哪个符号是除湿的 空调除湿功能通常用一个水滴形状的符号表示。不同品牌和型号的空调遥控器可能会有所差异,但一般来说,除湿...
格力空调多长时间加一次氟利昂 1、一般情况下,空调对氟利昂的使用量是非常小的,所以在空调使用了四年左右的时候再考虑加也没问题。2、...
空调用多长时间需要加氟一次 一般情况下是五年。当出现以下这几种情况时,空调才需要加氟。1、空调的室内机和室外机各有两个接口,当接...
格调生活·C标思享荟:卡萨帝在... 9月12日的郑州龙湖金融岛,夜风轻拂,灯光璀璨。“C标时刻共传奇——卡萨帝思享荟暨20周年品牌盛典郑...
品牌价值破千亿、高端份额持续领... 9月12日,“C标时刻共传奇——卡萨帝思享荟暨20周年品牌盛典郑州站”在郑州龙湖金融岛举办。2026...
空调主板坏了修800还是换新的 空调主板坏了是修还是换新,需要考虑多个因素,以下是一些建议:1. 维修成本:如果维修费用较低,比如 ...
空调开多久需要休息多长时间 问题:空调开多久需要休息多长时间回答:1、在使用空调的过程中,一般空调开7~8个小时左右需要休息2~...
中央空调多长时间清洗一次 1、一般空调开机前清洗一次即可,空调开机中间时段再清洗一次,空调关机时清洗一次,这样比较合理。2、空...
中央空调氟利昂多久加一次 看空调制热和制冷程度,很多人的观点认为氟利昂必须一年放一次,其实这个观点是错误的,理解上面有点偏差,...