主頁 > 知識(shí)庫(kù) > MySQL的查詢緩存和Buffer Pool

MySQL的查詢緩存和Buffer Pool

熱門標(biāo)簽:地圖標(biāo)注被騙三百怎么辦 常州電銷外呼系統(tǒng)一般多少錢 云南語音外呼系統(tǒng)平臺(tái) 房產(chǎn)智能外呼系統(tǒng)品牌 400電話鄭州申請(qǐng) 沃克斯電梯外呼線路圖 福州呼叫中心外呼系統(tǒng)哪家好 北京人工外呼系統(tǒng)價(jià)錢 天智外呼系統(tǒng)

一、Caches - 查詢緩存

下圖是MySQL官網(wǎng)給出的:MySQL架構(gòu)體系圖。

人們常說的查詢緩存就是下圖中的Cache部分。

如果將MySQL分成 Server層和存儲(chǔ)引擎層兩大部分,那么Caches位于Server層。

另外你還得知道:

當(dāng)一個(gè)SQL打向MySQL Server之后,MySQL Server首選會(huì)從查詢緩存中查看是否曾經(jīng)執(zhí)行過這個(gè)SQL,如果曾經(jīng)執(zhí)行過的話,之前執(zhí)行的查詢結(jié)果會(huì)以Key-Value的形式保存在查詢緩存中。key是SQL語句,value是查詢結(jié)果。我們將這個(gè)過程稱為查詢緩存!

如果查詢緩存中沒有你要找的數(shù)據(jù)的話,MySQL才會(huì)執(zhí)行后續(xù)的邏輯,通過存儲(chǔ)引擎將數(shù)據(jù)檢索出來。并且查詢緩存會(huì)被shared cache for sessions,是的,它會(huì)被所有的session共享。

查詢緩存的缺點(diǎn):

只要有一個(gè)sql update了該表,那么表的查詢緩存就會(huì)失效。所以當(dāng)你的業(yè)務(wù)對(duì)表CRUD的比例不相上下,那么查詢緩存may be會(huì)影響應(yīng)用的吞吐效率。

你可以通過參數(shù) query_chache_type=demand禁用查詢緩存。并且在mysql8.0的版本中,已經(jīng)將查詢緩存模塊刪除了。

所以,你可以根據(jù)自己的情況考慮一下有沒有必要禁用個(gè)功能

二、Buffer Pool

還是那句話:如果將MySQL分成 Server層和存儲(chǔ)引擎層兩大部分,那么Buffer Pool位于存儲(chǔ)引擎層。

其實(shí)大家都知道無論是連接池也好、緩存池也好,只要是XXX池,都是為加速而設(shè)計(jì)的。比如操作系統(tǒng)的文件系統(tǒng)為了加快數(shù)據(jù)的讀取速度,每次都做低效率的磁盤隨機(jī)IO設(shè)計(jì)了緩沖寫機(jī)制。

而Buffer Pool就是MySQL存儲(chǔ)引擎為了加速數(shù)據(jù)的讀取速度而設(shè)計(jì)的緩沖機(jī)制。下圖中的灰色部分就是BufferPool的腦圖。(字是真跡,非常之秀氣?。?/p>

以上就是MySQL的查詢緩存和Buffer Pool的詳細(xì)內(nèi)容,更多關(guān)于MySQL 查詢緩存和Buffer Pool的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

您可能感興趣的文章:
  • MySQL Innodb關(guān)鍵特性之插入緩沖(insert buffer)
  • 詳解MySQL中的緩沖池(buffer pool)
  • mysql優(yōu)化的重要參數(shù) key_buffer_size table_cache
  • 優(yōu)化mysql之key_buffer_size設(shè)置
  • mysql read_buffer_size 設(shè)置多少合適
  • mysql Sort aborted: Out of sort memory, consider increasing server sort buffer size的解決方法
  • 從MySQL的源碼剖析Innodb buffer的命中率計(jì)算
  • php中mysql操作buffer用法詳解
  • Mysql優(yōu)化調(diào)優(yōu)中兩個(gè)重要參數(shù)table_cache和key_buffer
  • mysql Key_buffer_size參數(shù)的優(yōu)化設(shè)置
  • mysqldump造成Buffer Pool污染的研究
  • MySQL的join buffer原理

標(biāo)簽:徐州 拉薩 珠海 鹽城 黔東 沈陽 沈陽 移動(dòng)

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《MySQL的查詢緩存和Buffer Pool》,本文關(guān)鍵詞  MySQL,的,查詢,緩存,和,Buffer,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《MySQL的查詢緩存和Buffer Pool》相關(guān)的同類信息!
  • 本頁收集關(guān)于MySQL的查詢緩存和Buffer Pool的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章