高级讲解MySQL查询缓存优化

文 / @WordPress主题

MySQL的查询缓存可以大大提高查询性能,特别是在使用相同SQL语句进行查询时。本文从概述、操作流程、查询缓存配置、开启查询缓存、查询缓存SELECT选项以及查询缓存失效的情况等方面介绍MySQL的查询缓存优化。

首先,开启Mysql的查询缓存后,当执行完全相同的SQL语句的时候,服务器就会直接从缓存中读取结果。但是,修改比较频繁的表不适合做查询缓存。其次,查询缓存的操作流程如下:客户端发送一条查询给服务器;服务器先会检查查询缓存,如果命中了缓存,则立即返回存储在缓存中的结果。否则进入下一阶段;服务器端进行SQL解析、预处理,再由优化器生成对应的执行计划;MySQL根据优化器生成的执行计划,调用存储引擎的API来执行查询;将结果返回给客户端。查询缓存的配置包括查看MySQL是否支持查询缓存、当前MySQL是否开启了查询缓存以及查看查询缓存的占用大小和状态变量。可以通过修改MySQL的配置文件mysqld.cnf来开启查询缓存。

而查询缓存SELECT选项可以在SELECT语句中指定两个与查询缓存相关的选项:SQL_CACHE和SQL_NO_CACHE。当query_cache_type系统变量的值为ON时,即使不加SQL_CACHE,也会缓存;而query_cache_type的变量的值为DEMAND,只有显示的指定了SQL_CACHE,才会缓存。同时,查询缓存也有失效的情况,如SQL语句不一致、使用不确定的函数、不使用任何表查询语句、在系统数据库中查询等等,这些情况都会导致查询缓存的失效。

综上所述,MySQL的查询缓存优化对于提高查询性能是非常有帮助的,但要根据实际情况进行修改配置和使用相应的查询缓存SELECT选项。同时,查询缓存也有其失效的情况需要注意。

添加UTHEME为好友
扫码添加UTHEME微信为好友
· 分享WordPress相关技术文章,主题上新与优惠动态早知道。
· 微信端最大WordPress社群,限时免费入群。