事务隔离级别及其缺陷

数据库 cruise 9个月前 (06-13) 253次浏览 已收录 0个评论 扫描二维码
事务隔离级别/缺陷 脏读 不可重复读 幻读
读未提交(read uncommit) 可能 可能 可能
读已提交(read commit) 不可能 可能 可能
可重复读(repeated read) 不可能 不可能 可能
可串行化(Serializable ) 不可能 不可能 不可能

脏读是一个事务读取到另一个事务未提交的数据。比如事务A把学员分数改为1,但是未提交,此时事务B读取到了这个分数,但是事务A把事务回滚了,此时事务B获取到了一个错误的数据

不可重复读是指在一个事务中两次读取的结果不同,比如事务A先获取到了学员分数为1,此时事务B将分数修改为2并提交,然后事务A再次读取学员分数得到2;造成在同一个事务中两次读取的结果不一致;造成不可重复读的操作是update

幻读是指事务A读取与搜索条件相匹配的若干行。事务B以插入或删除行等方式来修改事务A的结果集,然后再提交。比如数据库中存在学员tom的语文,数学成绩,事务根据学员名称去获取成绩查询出了语文,数学两科成绩。但此时事务B向数据库中插入了tom的英语成绩;此时数据造成了事务A的查询结果和实时不符,像出现“幻觉”一样。造成幻读的操作是delete或insert

创作不易,转载请注明文章来源为www.full-satcker.com


原创不易,请勿随意转载丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:事务隔离级别及其缺陷
喜欢 (0)
[]
分享 (0)
发表我的评论
取消评论
表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址