1. 程式人生 > >Innodb日誌與事務

Innodb日誌與事務

1.Innodb日誌:

錯誤日誌:記錄出錯資訊,也記錄一些警告資訊或者正確的資訊。
查詢日誌:記錄所有對資料庫請求的資訊,不論這些請求是否得到了正確的執行。
慢查詢日誌:設定一個閾值,將執行時間超過該值的所有SQL語句都記錄到慢查詢的日誌檔案中。
二進位制日誌:記錄對資料庫執行更改的所有操作。
中繼日誌:事務日誌:

2.Innodb事務:

1.讀未提交(RU)
2.讀已提交(RC)
3.可重複讀(RR)
4.序列 

3.innodb引擎的4大特性:

 

插入緩衝(insert buffer)
二次寫(double write)
自適應雜湊索引(ahi)
預讀(read ahead)

 

4.事務是如何通過日誌實現的:

事務日誌是通過redo和innodb的儲存引擎日誌緩衝(Innodb log buffer)來實現的,
當開始一個事務的時候,會記錄該事務的lsn(log sequence number)號;
當事務執行時,會往InnoDB儲存引擎的日誌的日誌快取裡面插入事務日誌; 當事務提交時,必須將儲存引擎的日誌緩衝寫入磁碟(通過innodb_flush_log_at_trx_commit來控制),
也就是寫資料前,需要先寫日誌。這種方式稱為“預寫日誌方式”