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

A:

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

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

 

一、查詢緩存(QueryCache)

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

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

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

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

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

延伸閱讀

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