百分百源码网-让建站变得如此简单! 登录 注册 签到领金币!

主页 | 如何升级VIP | TAG标签

当前位置: 主页>网站教程>数据库> 什么是脏读?
分享文章到:

什么是脏读?

发布时间:09/01 来源:未知 浏览: 关键词:

什么是脏读?

脏读又称无效数据的读出,是指在数据库拜访中,事务T1将某一值修改,然后事务T2读取该值,此后T1由于某种缘由撤销对该值的修改,这就致使了T2所读取到的数据是无效的,值得留意的是,脏读一样是针关于update操纵的。

解决办法

mysql数据库定义了四种隔离级别:

  • serializable:可幸免脏读、不成反复读、虚读状况的发生。

  • repeatable read:可以幸免脏读、不成反复读状况的发生。

  • read committed:可以幸免脏读状况发生。

  • read uncommitted:最初级别,都会发生。

留意:事务的隔离级别收到数据库的限制,不一样的数据库支撑的隔离级别不必然雷同

脏读:修改时加排他锁,直到事务提交后才开释,读取时加上同享锁后(这样在事务1读取数据的历程中,其他事务就不会修改该数据),不同意任何事务操纵该数据,只能读取,之后1假如有更新操纵,那么会转换为排他锁,其他事务更无权参与进来读写,这样就防止了脏读问题

但是当事务1读取数据历程中,有大概其他事务也读取了该数据,读取完毕后同享锁开释,此时事务1修改数据,修改完毕提交事务,其他事务再次读取数据时候发明数据不一致,就会显现先不成反复读问题,所以这样不克不及够幸免不成反复读问题

当施行不一样的隔离级别时,大概会发生许许多多不一样的问题。下面临他们停止总结并举例说明:

脏读发生在一个事务A读取了被另一个事务B修改,但是还未提交的数据。假设B回退,则事务A读取的是无效的数据。这跟不成反复读相似,但是第二个事务不需要施行提交。


引荐教程:《PHP教程》《MySQL教程》

以上就是啥是脏读?的具体内容,更多请关注百分百源码网其它相关文章!

打赏

打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,你说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

百分百源码网 建议打赏1~10元,土豪随意,感谢您的阅读!

共有151人阅读,期待你的评论!发表评论
昵称: 网址: 验证码: 点击我更换图片
最新评论

本文标签

广告赞助

能出一分力是一分吧!

订阅获得更多模板

本文标签

广告赞助

订阅获得更多模板