redo/undo log随闺、binlog
redolog與undolog是innodb里的事務(wù)日志日川。
redolog一般是物理日志,提供前滾操作矩乐,記錄的是數(shù)據(jù)頁的物理修改龄句。
undolog一般是邏輯日志,提供回滾操作散罕,用來回滾行記錄到某一版本分歇。
兩種日志一般結(jié)合使用。
層次不同欧漱。redo/undo 是 innodb 引擎層維護(hù)的职抡,而 binlog 是 mysql server 層維護(hù)的,跟采用何種引擎沒有關(guān)系误甚,記錄的是所有引擎的更新操作的日志記錄缚甩。
mySql執(zhí)行過程
執(zhí)行過程.png
- 連接器:管理連接谱净,權(quán)限驗(yàn)證
- 分析器:詞法分析,語法分析
- 優(yōu)化器:執(zhí)行計(jì)劃生成擅威,索引選擇
- 執(zhí)行器:操作存儲(chǔ)引擎壕探,返回結(jié)果
一條sql語句執(zhí)行的很慢是什么情況?
大多數(shù)情況下正常郊丛,只是偶爾出現(xiàn)很慢的情況
- 當(dāng)在更新數(shù)據(jù)庫中的字段時(shí)李请,會(huì)將內(nèi)存中的數(shù)據(jù)進(jìn)行修改,但并不會(huì)立即持久化到硬盤中宾袜,而是先寫入到redolog日志中捻艳。如果在更新操作十分頻繁的時(shí)候驾窟,redolog容量有限會(huì)很快被寫滿導(dǎo)致速度變慢庆猫。