mysql事务

事务的四个特性

原子性 全成功,全失败 undo日志
一致性 数据合法的从一种状态转移为另一种状态(符合约束) undo日志
隔离性 一个事务不受另一个事务影响
持久性 事务一旦提交就不可改变 redo日志

 

事务的四个隔离级别

  脏读 不可重复读 幻读 数据库默认  
读未提交   一个事务读到了另一个事务未提交的数据
读已提交 × oracle 一个事务读到了另一个事务已经提交了的数据
可重复读 × × mysql 一个事务读到了另一个事务已经提交了的数据,但依旧返回之前读到的数据
串行化 × × ×    

 

mvcc 

隐藏字段(trx_id,roll_pointer)、Undo Log、Read View。

 

读已提交模式 生成新的Read View 假如事务1的trx_id是1 事务2的trx_id是2。 则事务2只能读到事务1已经提交了的数据
可重复读模式 不生成新的Read View 假如事务1的trx_id是1 事务2的trx_id是2。 则事务2无论再次读的时候其trx_id依旧是2所以事务1是否提交,事务2读到的数据都一样
可重复读模式 不生成新的Read View 假如事务1的trx_id是1 事务2的trx_id是2。则事务2添加数据行之后,事务1再次读trx_id依旧是1,所以事务1读到的数据依旧和原来一样




posted @   言和1225  阅读(15)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?
点击右上角即可分享
微信分享提示