数据库系列课程(14)-脏读、不可重复读、幻读

简介: 数据库系列课程(14)-脏读、不可重复读、幻读

脏读

描述:一个事务读取另一个事务还没有提交的的数据。

举例:事务1修改了一行数据,但是没有提交,此时事务2读取被事务1修改的数据,之后事务1因为某些原因rollback了,那么事务2读取到的数据就是脏数据了。

解决方法:把数据库隔离级别修改为READ_COMMITTED。

不可重复读

描述:在同一个事务内,两个相同的查询返回了不同的结果。

举例:事务1读取某一数据,事务2读取并修改该数据,事务1为了验证而再次读取改数据,得到不同的结果。

解决方法: 把数据库的隔离级别调整到REPEATABLE_READ。

幻读

描述:一个事务在前后两次查询同一个范围的时候、后一次查询看到了前一次查询未看到的行。

举例:比如事务1去修改当前查询的的3条结果,此时事务2去新增了一条记录,事务1修改完后,再次去查询,发现新增了一条事务2插入的数据,感觉这条数据是没有去修改过的一样,仿佛出现了幻觉,这就是幻读。

解决方法:把数据库隔离级别修改为SERIALIZABLE_READ。

注意:幻读 > 不可重复读 > 脏读 ,设置了SERIALIZABLE_READ就不用设置REPEATBALE_READ和READ_COMMITED了。

目录
相关文章
|
9月前
|
JavaScript Java 关系型数据库
平面设计课程在线学习|基于SSM+vue的平面设计课程在线学习平台系统的设计与实现(源码+数据库+文档)
平面设计课程在线学习|基于SSM+vue的平面设计课程在线学习平台系统的设计与实现(源码+数据库+文档)
93 0
|
存储 JSON NoSQL
数据库系列课程(22)-MongoDB 常用命令
数据库系列课程(22)-MongoDB 常用命令
295 0
|
5月前
|
SQL 关系型数据库 MySQL
学成在线笔记+踩坑(3)——【内容模块】课程分类查询、课程增改删、课程计划增删改查,统一异常处理+JSR303校验
课程分类查询、课程新增、统一异常处理、统一封装结果类、JSR303校验、修改课程、查询课程计划、新增/修改课程计划
学成在线笔记+踩坑(3)——【内容模块】课程分类查询、课程增改删、课程计划增删改查,统一异常处理+JSR303校验
|
5月前
|
前端开发 应用服务中间件 API
|
9月前
|
JavaScript Java 关系型数据库
高校课程评价|基于SSM+vue的高校课程评价系统的设计与实现(源码+数据库+文档)
高校课程评价|基于SSM+vue的高校课程评价系统的设计与实现(源码+数据库+文档)
136 0
|
7月前
|
SQL 数据库
数据库中实现乐观锁来防止不可重复读
数据库中实现乐观锁来防止不可重复读
|
7月前
|
JavaScript Java 测试技术
基于SpringBoot+Vue+uniapp的《数据库原理及应用》课程平台的详细设计和实现(源码+lw+部署文档+讲解等)
基于SpringBoot+Vue+uniapp的《数据库原理及应用》课程平台的详细设计和实现(源码+lw+部署文档+讲解等)
|
8月前
|
JavaScript Java 测试技术
基于SpringBoot+Vue的数据库课程在线教学的详细设计和实现(源码+lw+部署文档+讲解等)
基于SpringBoot+Vue的数据库课程在线教学的详细设计和实现(源码+lw+部署文档+讲解等)
76 2
|
8月前
|
JavaScript Java 测试技术
基于SpringBoot+Vue的《数据库原理及应用》课程平台的详细设计和实现
基于SpringBoot+Vue的《数据库原理及应用》课程平台的详细设计和实现
50 1
|
8月前
|
JavaScript Java 测试技术
基于ssm+vue.js+uniapp小程序的数据库课程在线教学附带文章和源代码部署视频讲解等
基于ssm+vue.js+uniapp小程序的数据库课程在线教学附带文章和源代码部署视频讲解等
61 4

热门文章

最新文章