一 重要的日誌模組:redo log
wal技術:先寫日誌,再寫磁碟。具體是當有一條紀錄需要更新的時候,innodb引擎就會先把紀錄寫到redo log裡面,並更新記憶體,在引擎空閒的時候,將這個操作紀錄更新到磁碟裡面。
1 redo log紀錄了這個資料頁做了什麼改動
2 redo log 是固定大小的,從頭開始寫,寫到末尾就由回到開頭迴圈寫。
write pos 是當前紀錄的位置,一邊寫一邊後移,checkpoint就是要擦除的位置,中間的是空著的部分。
二 重要的日誌模組:binlog
1 是mysql server層實現的
2 是邏輯日誌
3 追加寫入的
一條SQL更新語句是如何執行的
mysql create table t id int primary key,c int 如果要將id 2這一行的值加1,sql語句就會這麼寫 mysql update t set c c 1where id 2 執行語句前要先連線資料庫,這是聯結器的工作。在乙個表上有更新的時候,跟這個表有關的查...
一條SQL更新語句的執行過程
目錄如果執行這條更新語句資料庫是如何執行的呢?update student set name 小明 where studentid 1根據之前說過的sql語句查詢的流程來說,只要表上有資料更新,有關查詢的索引就會失效,接下來分析器會根據每個單詞識別知道這是update語句,優化器根據這個id獲取需要...
MySQL學習筆記(二)一條SQL更新語句
從乙個表的一條更新語句說起,下面是這個表的建立語句,這個表有乙個主鍵id和乙個整型欄位c mysql create table t id int primary key,c int 假如將id 2這一行的值加1 執行語句要先通過聯結器連線資料庫。在乙個表上更新的時候,跟這個表有關的查詢快取會失效。接...