-
DML
(Data Manipulation Language)
语句。insert、update、delete、create
等数据库操作语句
DDL(Data Definition Language)
语句。对数据库、表的操作,不对数据操作。例如create、drop、alter
-
WAL技术:
Write-Ahead Logging
,先写redo log日志,再写磁盘。‘先写日志’ 也是先写磁盘,只不过日志是顺序写盘,速度很快
-
redo log
是InnoDB
引擎特有的日志 -
当要更新数据时,先写
redo log
,等数据库空闲的时候在更新数据。但是redo log
有大小限制,达到限制之后,要强制刷日志。 -
有了
redo log
,即使数据库异常了,也可以根据redo log
来恢复 -
binlog
是server
层特有的日志redo log
和binlog
不同redo log
是InnoDB
引擎特有的;binlog
是MySQL的 server层实现的,所有引擎都可以使用redo log
是物理日志,记录的是“在某个数据页上做了什么修改”;binlog
是逻辑日志,记录的是这个语句的原始逻辑,比如“给 ID=2 这一行的 c 字段加 1 ”。redo log
是循环写的,空间固定会用完;binlog
是可以追加写入的。“追加写”是指 binlog 文件写到一定大小后会切换到下一个,并不会覆盖以前的日志。binlog
两种模式,statement
记录是的sql语句,row
记录的是行的内容,记录两条。更新前和更新后。
DAY02
于 2022-02-11 16:05:11 首次发布