Mysql

关注公众号 jb51net

关闭
首页 > 数据库 > Mysql > MySQL查询缓存优化

MySQL查询缓存优化示例详析

作者:Happy_Future

MySQL的优化指的是一个很大的系统,面试的时候我之前是从sql的语句优化方面去说的,这种优化也有作用,不过是从逻辑方面去优化,下面这篇文章主要给大家介绍了关于MySQL查询缓存优化的相关资料,需要的朋友可以参考下

一、概述

在日常使用数据库中,80%的数据请求都是查询,而余下的20%是更新或者增加数据。如何提升查询性能,便是提高数据库处理能力的关键。

二、查询优化内容

1、查询缓存的原理

查询的路线图:

缓存SELECT操作或预处理查询的结果集和SQL语句,当有新的SELECT语句或预处理查询语句请求,先去查询缓存,判断是否存在可用的记录集,判断标准:与缓存的SQL语句,是否完全一样,区分大小写。

2、查询缓存的优缺点

优点

不需要对SQL语句做任何解析和执行,当然语法解析必须通过在先,直接从Query Cache中获得查询结果,提高查询性能

缺点

查询缓存的判断规则,不够智能,也即提高了查询缓存的使用门槛,降低效率查询缓存的使用,会增加检查和清理Query Cache中记录集的开销

3、不能应用查询缓存的内容

4、查询缓存相关的服务器变量

5、SELECT语句的缓存控制

6、查询缓存相关的状态变量

show gloable status like 'Qcache%' ;

7、查询的优化的检查路线

8、命中率和内存使用率估算

查询缓存中内存块的最小分配单位query_cache_min_res_unit :

(query_cache_size - Qcache_free_memory) / Qcache_queries_in_cache

查询缓存命中率 :

Qcache_hits / ( Qcache_hits + Qcache_inserts ) * 100%

查询缓存内存使用率:

(query_cache_size – qcache_free_memory) / query_cache_size * 100%

9、版本差异

在早期版本mysql均支持缓存,但是随着redis等内存型高性能的缓存技术兴起,mysql已经抛弃自己的缓存功能,mysql8.0以后不再支持缓存功能。

三、总结

MYSQL的缓存优化在早期版本可以起到一定的优化作用,最新的版本不再支持,缓存的功能而由其他的缓存服务来承担。

到此这篇关于MySQL查询缓存优化的文章就介绍到这了,更多相关MySQL查询缓存优化内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

您可能感兴趣的文章:
阅读全文