MySQL Troubleshoting:Waiting on query cache mutex 今天被MySQL Query Cache 炕了、線上大量 Waiting on query cache mutex 那麼什麼是 Query Cache? QC 緩存的是整個SELECT的結果集、而非執行計劃、QC的為人原則是:執行查詢最快的方式就是不去執行 但是、QC 簡單粗暴的失效策略、令人蛋疼、任何不同(空格、TAB縮進、DML等)都會導致該表的Cache不可用 失效通過single mutex 控制、有比較嚴重的鎖競爭 如何關閉QC? 控制 2個參數: ① query_cache_type = off ② query_cache_size = 0 總體而言、QC不建議使用、雞肋功能、"夫雞肋,棄之如可惜,食之無所得"、導致幾十上百倍的性能差異 如果、確實有這個緩存需求、應用允許的情況下、可用效率高的Redis或者MC等替代