国产成人精品亚洲777人妖,欧美日韩精品一区视频,最新亚洲国产,国产乱码精品一区二区亚洲

您的位置:首頁技術文章
文章詳情頁

MySQL的查詢緩存和Buffer Pool

瀏覽:2日期:2023-10-08 16:03:54

一、Caches - 查詢緩存

下圖是MySQL官網給出的:MySQL架構體系圖。

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

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

MySQL的查詢緩存和Buffer Pool

另外你還得知道:

當一個SQL打向MySQL Server之后,MySQL Server首選會從查詢緩存中查看是否曾經執行過這個SQL,如果曾經執行過的話,之前執行的查詢結果會以Key-Value的形式保存在查詢緩存中。key是SQL語句,value是查詢結果。我們將這個過程稱為查詢緩存!

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

查詢緩存的缺點:

只要有一個sql update了該表,那么表的查詢緩存就會失效。所以當你的業務對表CRUD的比例不相上下,那么查詢緩存may be會影響應用的吞吐效率。

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

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

MySQL的查詢緩存和Buffer Pool

二、Buffer Pool

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

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

MySQL的查詢緩存和Buffer Pool

而Buffer Pool就是MySQL存儲引擎為了加速數據的讀取速度而設計的緩沖機制。下圖中的灰色部分就是BufferPool的腦圖。(字是真跡,非常之秀氣!)

以上就是MySQL的查詢緩存和Buffer Pool的詳細內容,更多關于MySQL 查詢緩存和Buffer Pool的資料請關注好吧啦網其它相關文章!

標簽: MySQL 數據庫
相關文章:
主站蜘蛛池模板: 石台县| 措美县| 大厂| 建阳市| 天峨县| 佛冈县| 上犹县| 年辖:市辖区| 万宁市| 白银市| 宜都市| 安顺市| 明星| 昭平县| 陕西省| 白玉县| 阿鲁科尔沁旗| 吴江市| 元江| 微山县| 昌江| 忻州市| 始兴县| 景洪市| 额尔古纳市| 永胜县| 吴忠市| 道真| 阜新| 拜城县| 临沂市| 阳山县| 吴桥县| 普陀区| 玉屏| 辽宁省| 封开县| 高清| 申扎县| 图片| 大荔县|