曾就职于阿里巴巴担任Oracle DBA,MySQL DBA,目前在新美大担任SRE。[是普罗米修斯还是一块石头,你自己选择!] 欢迎关注微信公众号 “自己的设计师”,不定期有原创运维文章推送。
发布时间:2013-12-08 21:15:33
Mysql 在执行SELECT语句parse,execute sql以前会先到QC里面查看该sql是否已经被cache住了,如果是被QC住了,则没有必要再进行Parse和execute,直接返回结果就OK了,那具体是如何实现的呢?在sql_parse.cc/mysql_parse的代码有这样一句注释 Warning. The purpose of query_cache_send_result_.........【阅读全文】
发布时间:2013-12-07 13:28:20
顾名思义,QueryCache就是查询缓存,是一个很大的Hash表,存放的是select的文本的hash值和查询结果。当下一次相同的select语句再次去查询数据时,可以直接到QueryCache里检查,如果发现有相同的sql(sql文本hash值相同),则结果直接在QueryCache,省去了Parse,explain等过程。而且QueryCache是针对全局来说的,.........【阅读全文】