Skip to content

Latest commit

 

History

History
76 lines (34 loc) · 1.34 KB

锁.md

File metadata and controls

76 lines (34 loc) · 1.34 KB

undo:组成版本链。记录某条记录修改前是什么样的。consistency,atom

Redolog:记录修改操作。durability

Binlog:记录提交后的修改sql语句

readview:每次select都会创建一个,按照t r x_id查找记录

读未提交:拿undo日志的链表头。脏读不可重复度幻读

读提交:每次select都看最新的readview。不可重复读幻读

可重复读:每次select都用第一次select出的readview。幻读

串行化:拿undo日志的链表头。给最新快照+读锁

解决幻读:快照读(mvcc),当前读(记录锁+间隙锁)

drop:删除表数据和结构(所有内容),不可回滚

truncate:删除表数据,不可回滚

delete:可回滚

索引:

单值索引

唯一索引

复合索引

主键索引

前缀索引

优点:提速:Select

缺陷:更新表慢

全局锁:只允许读

表级锁:

表锁:共享读锁,独占写(排它)锁(三种引擎都支持)

元数据锁:不允许其他事务操作

意向锁:意向共享锁,意向排它锁。减少表锁检查

行锁:锁住对应行数据

记录锁:锁一行/一条数据。不给update/delete。rc/rr

间隙锁:锁记录间隙。不给insert。rr

临键锁:记录+间隙。rr

引擎

​ mysiam:innodb

索引 非聚簇:聚簇

锁 表锁:行锁