安庆大理运城常德铜陵江西
投稿投诉
江西南阳
嘉兴昆明
铜陵滨州
广东西昌
常德梅州
兰州阳江
运城金华
广西萍乡
大理重庆
诸暨泉州
安庆南充
武汉辽宁

为什么MySQL8要无情地抛弃查询缓存?这里面到底发生了什么

10月18日 莫思归投稿
  MySQL的查询缓存,很多朋友应该听说或者使用过,因为以前流行的一句话:现在查询这么慢,你可以开启查询缓存试试,曾经作为MySQL性能提升的一个重要特征,查询缓存为什么会被MySQL8无情的抛弃呢?今天我们就来分析分析。什么是查询缓存
  对于这种专业概念,我们还是引入MySQL官方文档来说吧,这样要严谨一些。
  ThequerycachestoresthetextofaSELECTstatementtogetherwiththecorrespondingresultthatwassenttotheclient。Ifanidenticalstatementisreceivedlater,theserverretrievestheresultsfromthequerycacheratherthanparsingandexecutingthestatementagain。Thequerycacheissharedamongsessions,soaresultsetgeneratedbyoneclientcanbesentinresponsetothesamequeryissuedbyanotherclient。Thequerycachecanbeusefulinanenvironmentwhereyouhavetablesthatdonotchangeveryoftenandforwhichtheserverreceivesmanyidenticalqueries。ThisisatypicalsituationformanyWebserversthatgeneratemanydynamicpagesbasedondatabasecontent。Thequerycachedoesnotreturnstaledata。Whentablesaremodified,anyrelevantentriesinthequerycacheareflushed。
  从官方文档我们可以看到,查询缓存其实就是将SELECT的语句和相应的结果缓存起来并发送给客户端,如果同样的SELECT语句之后再过来,就直接返回缓存里面的查询结果,并且查询缓存是客户端共享的,一个客户端生成,其他客户端也有用。
  但是需要说明一点,就是查询缓存不能够返回稳定的数据,如果表数据被修改,相关的条目将被清空,重新生成。如果MySQL并发高会存在什么问题?
  现在假设存在一种情况,就是MySQL的并发很高,针对查询缓存会出现什么问题?假设一个客户端进程读,另一个客户端进程写同一个数据表,这个时候,查询缓存是读还是不读呢?这一切的控制,让MySQL要花很大的精力去处理这种情况,比如引入锁,有变化了,就锁起来,不让读,然后变化完了,再重新生成缓存,给读端,相信并发高了,仅仅这个查询缓存都会成为MySQL性能最大问题,不仅仅没有帮我们提升性能,反而让我们的应用变得越来越慢都是有可能的。对于查询缓存我们能够做的事情很少
  使用过MySQL查询缓存的朋友应该知道,我们仅仅是通过MySQL提供的几个配置参数使用的,其他什么都做不了,也就是查询缓存控制,缓存命中率等,我们都无法去控制,这一切的控制都是MySQL自己去控制的,所以我们仅仅是一个使用者而已。
  而这恰好不利于我们编程和业务发展的需要,对于我们来说,查询缓存犹如一个工具一样,我们遇到什么问题,只能够提交问题给MySQL,当然也可以修改MySQL的源代码,但是这需要的能力就非常高了。将缓存放在客户端的好处其实很多
  现在,我们发现Redis已经非常成熟了,在项目中多多少少都会引入Redis,比如APP登录状态的保存,手机短信验证码的保存、秒杀功能等等都可以用Redis来实现。
  这里引入了一个问题,就是为什么我们可以用Redis来实现这么多功能呢?其中一个最重要的原因,就是,我们控制着这一切,我们可以决定什么时候失效,缓存什么数据,删除某条或者替换某条缓存条目等,当然还有很多很多控制权限,而这一切,恰好是MySQL的查询缓存无法提供的,MySQL的查询缓存相对客户端的缓存来说,真的是鸡肋。
投诉 评论 转载

触控屏显温不烫嘴12块9到手奥克斯AUX温控屏保温杯上手简评Tony哥的廉价国货晒单20220308。2天气暖和了,不锈钢保温杯也可以放个假,换成方便泡茶的玻璃保温杯了,车站12块9的奥克斯AUX触控屏保温杯到手,开箱给车友们验个……由log4j远程执行漏洞说起这几天让IT从业人员忙的不可开交的头等大事便是Log4j的远程执行漏洞了,我们先看一个简单的PoC:importorg。apache。logging。log4j。LogMana……2022年度山西省中央引导地方科技发展资金项目开始申报为更好地发挥中央引导地方科技发展资金对我省创新发展的支撑和引领作用,日前,我市依照省科技厅相关精神,面向全市征集既符合中央专项资金使用要求,又符合我省转型和高质量发展要求的项目……鸿蒙HarmonyOSArkUI(eTS)组件通信方式总结之鸿蒙HarmonyOSArkUI(eTS)组件间通信涉及组件属性与显示、父子组件间通信、祖孙组件间通信、不相干组件间通信等,而组件两两间通信也有单向与双向之分。通过学习HDC2……法治时评整治超时加班就得动真格赵志疆据媒体报道,最近一段时间,北京、山东、安徽、河南、广西等多地人社部门宣布,集中排查整治超时加班问题,检查对象主要是互联网(平台)企业等超时加班问题易发多发的重点行业……为什么MySQL8要无情地抛弃查询缓存?这里面到底发生了什么MySQL的查询缓存,很多朋友应该听说或者使用过,因为以前流行的一句话:现在查询这么慢,你可以开启查询缓存试试,曾经作为MySQL性能提升的一个重要特征,查询缓存为什么会被My……手机APP广告乱象何时休?超级烦人的App开屏广告终于被整治了,68家企业被要求迅速整改,但也有部分个例依然不听话,想保住用户口碑,就要倾听用户心声!进入移动互联时代以来,各种APP成为我们工作、学习、……你从出生到死去所发生的一切早已注定决定论是成立的吗?一个人从生到死所发生的一切都是有每个人的剧本,是冥冥中注定的。因为我在23岁时梦见和两个女伴一起坐火车去另一个城市不回来,并辞去了家乡国企的工作,这个梦当时告诉了两个室友,她们……iPhone的抬起唤醒功能有用吗?嗯,有用,我的iPhone7,我已经习惯了这个功能了。因为有时候看时间,不太需要专门按一下,或是打开手机,这些时候,让人觉得还是很方便的。我买了锤子坚果Pro2,现在也有……比特早报数字人民币试点再增11城,天数智芯发布通用GPU天垓2022年4月4日消息,昨夜今晨,科技圈都发生了哪些大事?行业大咖抛出了哪些新的观点?比特网为您带来值得关注的科技资讯:数字人民币试点地区再增11城日前,人民银行召……央企国资云是什么?以后电信会掌控全局?而大家看个图哈中国电信作为以后的央企国资云,是唯一的全业务综合业务运营商,可以这样理解。以后的数据保护都要经过中国央企国资云的审核和备份,增加安全性,构建安全防护体系。……余承东18点突然发文,华为给开学新生,准备好了教育福利今年,虽然iPhone12系列热销,苹果营收同比大涨,小米新机一款接着一款出现,并成功站稳高端市场,就连vivo子品牌iQOO和OPPO矩阵品牌realme,也有长足进步。但是……
华为实测上道!科技巨头开始跑步造车UWB定位技术和蓝牙AOA有哪些不同?36氪首发千里马获亿元级B轮融资,聚焦招投标一站式智能营销索尼85寸电视哪个型号更推荐入手?这篇文章给你答案阿里事件男主王某文妻子为夫喊冤,大获全胜,是真爱还是无奈?一款支持IOS,安卓,TV盒子和网页的四端观影神器,高清4K12G256G高配抄底?2022这3款旗舰手机大跳水哪一款都支付宝高温补贴大家摇了多少钱?2022年行业领导者关注的13种加密趋势欧易NFT市场做了哪些创新与优化?华为员工20万月薪工资条曝光?公司回应你认为什么手机是杂牌机?

友情链接:中准网聚热点快百科快传网快生活快软网快好知文好找七猫云易事利