八股文打卡day27——数据库(4)

03-12 1877阅读

面试题:讲一下事务的隔离级别?

我的回答:

因为事务之间的隔离性,造成了一些问题,比如说:脏读、不可重复读和幻读(虚读)。

八股文打卡day27——数据库(4)
(图片来源网络,侵删)

1.什么叫脏读?

就是一个事务读取到了另一个事务还未rollback或commit的事务中的数据。

2.什么叫不可重复读?

就是同一个事务内,多次进行读取,但是读取到的数据是不一致的。比如说:事务刚开始,读取到A账户有1000元,但是在没有对其进行操作的前提下,再次读取数据,A账户中金额变成了800元。

3.什么叫幻读?

幻读就是一个事务读取到了另外一个事务插入进来的新数据,比方说:一个事务刚开始时,读取到了三个账户A、B、C的数据。但是过了一会儿,就读取到了四个账户:A、B、C、D四个账户的数据。

数据表中,数据条数变多了。

设置事务隔离级别(从低到高):

读未提交:可以读取到其他事务还未提交的数据。(隔离级别最低,无法避免:脏读、不可重复读、幻读问题)

读已提交:只能读取到其他事务已经提交的数据。(避免了:脏读问题)

可重复读:一个事务执行过程中读取到的数据,总和这个事务开启时,读取到的数据是一致的。(避免了不可重复读的问题)

串行化:对于同一行数据,读的时候会加“读锁”,写的时候会加“写锁”,当读写冲突时,会让前一个事务先执行完,下一个事务才可以执行。(避免了:脏读、不可重复读、幻读的问题)

回答八股的时间:2024.03.10

VPS购买请点击我

文章版权声明:除非注明,否则均为主机测评原创文章,转载或复制请以超链接形式并注明出处。

目录[+]