mysql的事务隔离学习笔记

基本概念 

mysql事务是什么?

事务 就是指一系列的数据库操作 要么都成功 要么都不成功。

事务相关的特性

ACID

原子性- Atomicity

一致性- Consistency

隔离性-Isolation

持久性-Durability

数据库多个事务同时执行易引发问题

 脏读:读出了无效数据 比如一个事务读到另一个事务未提交的数据更改。

不可重复读:同一个事务中 两次相同的查询返回了不同的结果。

幻读:幻读指当事务不独立执行时 插入或删除另一个事务当前影响的数据而发生的一种类似幻觉的现象。

为了解决这些问题引入的“隔离级别”

读未提交-read uncommitted:一个事务还没提交时,它做的更改就能被别的事务看见。

读提交-read committed: 一个事务提交之后,它做的变更才会被别的事务看到。

可重复读-repeatable read: 一个事务执行过程中看到的数据,总是和事务启动时看到的数据是一致的

串行化-serializable: 对于同一行记录,“写”会加“写锁”,"读"会加"读锁"。当出现读写锁冲突时 后访问的事务必须等前一个加锁的事务执行完成,才能继续执行。

 

脏读问题可以设置为读提交(read committed)隔离级别解决问题

不可重复读可以设置为 可重复(repeatable read)隔离级别解决问题

幻读 可以设置为 串行化(serializable)隔离级别解决问题

 

posted @ 2020-12-08 16:59  匆匆若风  阅读(63)  评论(0)    收藏  举报