MySQL學習筆記:基礎模型

環境

MacBook Pro

序言

MySQL 技術內幕 InnoDB 存儲引擎 第二版

後臺線程

MySQL是多線程模型,因此有個多個不同的後臺線程,負責處理不同的任務。

  • Master Thread

額外的內存池

在 InnnoDB 存儲引擎中,對內存的管理是通過一種稱爲內存堆的方式進行的。
在對一些數據結構本身的內存進行分配時,需要從額外的內存池中進行申請,
當該區域的內存不夠時,會從緩存池中進行申請。例如,分配了緩衝池(innodb_buffer_pool),
但是每個緩衝池中的幀緩衝(frame buffer)還有對應的緩衝控制對象(buffer control block),這些對象記錄了一個些
諸如LRU、鎖、等待等信息,而這個對象的內存需要從額外內存池中申請。
因此,在申請了很大的InnoDB 緩衝池時,也應該考慮相應的增加這個值。


LRU列表用來管理緩存池中頁的可用性,Flush列表用來管理將頁刷新回磁盤,兩者互不影響。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章