MySQL事务

9/1/2022 MySQLTransaction

# 事务

# 数据库事务

# 原子性(Atomicity)

事务是最小的执行单位,不允许分割

# 一致性(Consistency)

转账者和收款人的总额应该是不变的

# 隔离性(Isolation)

各并发事务之间数据库是独立的

# 持久性(Durability)

它对数据库中数据的改变是持久的

# 并发事务带来问题

# 脏读(Dirty read)
# 丢失修改(Lost to modify)
# 不可重复读(Unrepeatable read)
# 幻读(Phantom read)

# 事务隔离级别

# READ-UNCOMMITTED(读取未提交)

可能会导致脏读、幻读或不可重复读

# READ-COMMITTED(读取已提交)——大部分数据库系统

可以阻止脏读,但是幻读或不可重复读仍有可能发生

# REPEATABLE-READ(可重复读)—(MySQL默认)

可以阻止脏读和不可重复读,但幻读仍有可能发生,加锁使用 Next-Key Locks避免幻读

# SERIALIZABLE(可串行化)——分布式事务下用到

可以防止脏读、不可重复读以及幻读

Last Updated: 4/15/2023, 1:36:11 AM