Mysql InnoDB 學習筆記

非常不建議看我的學習筆記
建議看:Mysql技術內幕 InnoDB存儲引擎 這本書

InnoDB 後臺線程

InnoDB存儲引擎是多線程的模型,因此其後臺有多個不同的後臺線程,處理不同的任務。

  1. Master Thread
    Master Thread是一個非常核心的後臺線程,主要負責將緩衝池中的數據異步刷新到磁盤,保證數據的一致性,包括髒頁的刷新、合併插入緩衝(INSERT BUFFER)、UNDO頁的回收等。
  2. IO Thread
    在InnoDB存儲引擎中大量使用了AIO(Async IO)來處理寫IO請求,這樣可以極大提高數據庫的性能。而IO Thread的工作主要負責這些IO請求的回調(call back)處理。
  3. Purge Thread
    事務被提交後,其所使用的undolog可能不再需要,因此需要Purge Thread 來回收已經使用並分配的undo頁。在InnoDB 1.1版本前,purge操作僅在InnoDB存儲引擎的master Thread中完成。而從InnoDB 1.1版本開始,purge操作可以獨立到單獨的線程中進行,從此來減輕Master Thread的工作,從而提高CPU的使用率以及提升存儲引擎的性能。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章