MySQL Troubleshoting:Waiting on query cache mutex 腾讯数据库工程师:幕南风
2024-10-10 17:30:56
http://blog.itpub.net/26515977/viewspace-1208188/
今天被MySQL Query Cache 炕了、线上大量 Waiting on query cache mutex
那么什么是 Query Cache?
QC 缓存的是整个SELECT的结果集、而非执行计划、QC的为人原则是:执行查询最快的方式就是不去执行
但是、QC 简单粗暴的失效策略、令人蛋疼、任何不同(空格、TAB缩进、DML等)都会导致该表的Cache不可用
失效通过single mutex 控制、有比较严重的锁竞争
如果数据表被更改,那么和这个数据表相关的全部Cache全部都会无效,并删除之
这里“数据表更改”包括: INSERT, UPDATE,DELETE, TRUNCATE, ALTER TABLE, DROP TABLE, or DROP DATABASE等
如何关闭QC?
控制 2个参数:
① query_cache_type = off
② query_cache_size = 0
总体而言、QC不建议使用、鸡肋功能、"夫鸡肋,弃之如可惜,食之无所得"、导致几十上百倍的性能差异
如果、确实有这个缓存需求、应用允许的情况下、可用效率高的Redis或者MC等替代
By David Lin
2013-06-29
Good Luck
最新文章
- paintEvent(QPaintEvent*)是系统自动调用的
- dwarf格式解析
- HDU 5669 线段树优化建图+分层图最短路
- 慕课网:C++ &; 数据结构
- RichLabel基于Cocos2dx+Lua v3.x
- 终极解决方案:windows10开机黑屏,死机
- asp.net 由于代码已经过优化或者本机框架位于调用堆栈之上,无法计算表达式的值
- Response.Write具体介绍
- loading加载中效果
- .Net常用方法汇总
- iOS 获取一个不变的UDID
- pt-align
- Winform知识汇总之多次绑定DataGridView的DataSource会报错 NullReferenceExcepti
- 关于一致性Hash算法
- 【BZOJ】1629: [Usaco2007 Demo]Cow Acrobats(贪心+排序)
- FastAdmin 关于跨域问题解决
- [LOJ2538] [PKUWC2018] Slay the Spire
- HTML5API(4)
- Lua学习---编译生成lua和luac
- PHP设计模式之单例模式