扫码关注公众号

数据库之隔离级别相关
05-24
175观看
01

MySQL 的隔离级别有哪些?

未提交读READUNCOMMITTED在该级别事务中的修改即使没有被提交,对其他事务也是可见的。事务可以读取其他事务修改完但未提交的数据,这

来自:数据库事务和优化-隔离级别
02

脏读、幻读、不可重复读的区别和解决办法?

脏读脏读又称无效数据读出(读出了脏数据)。一个事务读取另外一个事务还没有提交的数据叫脏读。例如:事务T1修改了某个表中的一行数据,但是还没有提交,这时候事务T2读取了被事务T1修改后的数据,之后事务T1因为某种原因回滚(Rollback)了,那么事务T2读取的数据就是脏的(无效的)。解决办法:把数据库的事务隔离级别调整到READ_COMMITTED(读提交/不可重复读)不可重复读不可重复读是指在同一个事务内,两次相同的查询返回了不同的结果。例如:事务T1会读取两次数据,在第一次读取某一条数据后,事务T2修改了该数据并提交了事务,T1此时再次读取该数据,两次读取便得到了不同的结果。解决办法:把数据库的事务隔离级别调整到REPEATABLE_READ(可重复读)幻读幻读也是指当事务不独立执行时,插入或者删除另一个事务当前影响的数据而发生的一种类似幻觉的现象。例如:系统事务A将数据库中所有数据都删除的时候,但是事务B就在这个时候新插入了一条记录,当事务A删除结束后发现还有一条数据,就好像发生了幻觉一样。这就叫幻读。解决办法:把数据库的事务隔离级别调整到SERIALIZABLE_READ(序列化执行),或者数据库使用者自己进行加锁来保证。

来自:数据库事务和优化-隔离级别
03

关于解决事务的脏读的最简单的方法,下列选项正确的是()

正确答案是AB选项,是对不可重复读或幻读的解决方法;CD选项中,各过程中添加了错误的锁。

来自:数据库事务和优化-隔离级别
04

”确保事务可以多次从一个字段中读取相同的值,在此事务持续期间,禁止其他事务对此字段的更新”是对下列选项哪一个事务隔离级别的描述()

正确答案是CA选项,读未提交是事务隔离级别的最低级别;B选项,读已提交,可避免脏读情况发生;D选项,最严格的事务隔离级别,要求所有事物被串行执行,不能并发执行,可避免脏读、不可重复读,幻读情况的发生。

来自:数据库事务和优化-隔离级别
课程
专栏
【校招VIP】JAVA事务及隔离级别
当只想撤销事务中的部分操作时可使用SavePoint
csdn
事务
隔离
【校招VIP】数据库的四个隔离级别
读未提交,事务A读取到事务B未提交的数据。
csdn
隔离级别
MySQL事务隔离级别详解
csdn
数据库-数据库事务和优化-隔离级别
3专栏
1课程
4 试题