mysql的事务特性和锁机制
2020-12-19 本文已影响0人
美雨知春
MySQL事务的特性分为:原子性,一致性、隔离性、持久性
原子性:一个事务要么执行,要么完全不执行
一致性:事务在开始时和结束时要满足一致性的要求
隔离性:事务在操作时,其他事务不能影响到当前事务
持久性:事务的操作结果是有持久性的
Mysql并发
锁机制:读读 写写 读写加锁,共享锁:读,排他锁:写
多版本控制:MVCC 保留数据的多个版本:快照读-一般的读操作(读的是历史版本),当前读:加锁的读(不可重复读,RC;可重复读:RR)
事务的隔离级别
读未提交:容许脏读
不可重复读:容许幻读
可重复读:容许幻读
串行化:最安全
mysql的锁机制
行锁:共享锁和排他锁
意向共享锁和一项排他锁:获取行锁之前先获得表的一项锁
InnoDB支持以下所种行锁方式:
行锁:对索引项加锁,即一行数据
间隙锁:对索引项之间的间隙加锁,对第一条记录前的间隙或最后一条记录后的间隙加锁,锁定一个范围的记录,不包括记录本身
Next-key:行锁和间隙锁的组合