Q:innodb buffer pool和Qcache的緩存區(qū)別?

A:

  1、Qcacche緩存的是SQL語句及對應(yīng)的結(jié)果集,緩存在內(nèi)存,最簡單的情況是SQL一直不重復(fù),那Qcache的命令率肯定是0;

  2、buffer pool中緩存的是整張表中的數(shù)據(jù),緩存在內(nèi)存,SQL再變只要數(shù)據(jù)都在內(nèi)存,那么命中率就是100%。

 

一、查詢緩存(QueryCache)

1、關(guān)于查詢緩存機(jī)制

  開啟了緩存,會自動將查詢語句和結(jié)果集返回到內(nèi)存,下次再查直接從內(nèi)存中取;

  查詢緩存會跟蹤系統(tǒng)中每張表,若表發(fā)生變化,則和該張表相關(guān)的所有查詢緩存全部失效,這是和buffer pool緩存機(jī)制很大的區(qū)別;

  檢查查詢緩存時,MYSQL不會對SQL做任何處理,它精確的使用客戶端傳來的查詢,只要字符大小寫或注釋有點不同,查詢緩存就認(rèn)為是不同的查詢;

  任何一個包含不確定的函數(shù)(比如now()、curren_date())的查詢不會被緩存。

延伸閱讀

學(xué)習(xí)是年輕人改變自己的最好方式-Java培訓(xùn),做最負(fù)責(zé)任的教育,學(xué)習(xí)改變命運(yùn),軟件學(xué)習(xí),再就業(yè),大學(xué)生如何就業(yè),幫大學(xué)生找到好工作,lphotoshop培訓(xùn),電腦培訓(xùn),電腦維修培訓(xùn),移動軟件開發(fā)培訓(xùn),網(wǎng)站設(shè)計培訓(xùn),網(wǎng)站建設(shè)培訓(xùn)學(xué)習(xí)是年輕人改變自己的最好方式