檢查點 |
發布時間: 2012/8/26 15:57:35 |
InnoDB實現一種被認識為“模糊”檢查點設置的檢查點機制。InnoDB以小批量從緩沖池刷新已修改的數據庫頁。沒必要以單個批次刷新緩沖池,單批次刷新實際操作中可能會在檢查點設置進程中停止用戶SQL語句的處理。
在崩潰恢復中,InnoDB找尋被寫進日志的檢查點標簽。它知道所有在該標簽之前對數據庫的修改被呈現在數據庫的磁盤映像中。然后InnoDB從檢查點往前掃描日志文件,對數據庫應用已寫入日志的修改。 InnoDB以循環方式寫日志文件。所有使得緩沖池里的數據庫頁與磁盤上的映像不同的已提交修改必須出現在日志文件中,以備萬一InnoDB需要做一個恢復。這意味著,當InnoDB開始重新使用一個日志文件,它需要確認在磁盤上的數據庫頁映像包含已寫進InnoDB準備重新使用的日志文件里的修改。換句話說,InnoDB必須創建一個檢查點,這經常涉及已修改數據庫頁到磁盤的刷新。
前面的敘述解釋了為什么使你的日志文件非常大會在設置檢查點中節約磁盤I/O。設置日志文件總的大小和緩沖池一樣大或者甚至比緩沖池大通常是有意義的。大日志文件的缺點是崩潰恢復要花更長的時間,因為有更多寫入日志的信息要應用到數據庫上。 本文出自:億恩科技【www.endtimedelusion.com】 |