一、数据库隔离水平
数据库的隔离级别分为四类:未提交的读取、提交的读取、可重复的读取和序列化。
其中,未提交的读取隔离级别最低,并发事务可能会出现脏读、不可重复读或幻像读。
序列化隔离级别最低,但不能同时执行事务。
MySQL的默认隔离级别是可重复的。
潦草的读法
不要重复
幻读
未读
已提交的读取
可重复读取
序列化
在实际应用中,通常通过使用可重复读取的间隙块可以在一定程度上解决幻读
二、数据库隔离水平的实现原理
------------- -请参阅
1 .未提交读物
操作:不上锁
写入:行级共享锁定,直到事务结束并解除锁定
------------- -请参阅
2 .提交了读取
读取操作:在行级别共享锁定,操作完成后立即解除锁定
写入:行级互斥,直到事务结束并解除锁定
------------- -请参阅
3 .可以反复阅读
读取操作:行级共享锁定,直到事务结束并解除锁定
写入:行级互斥,直到事务结束并解除锁定
------------- -请参阅
4 .序列化
读取操作:表级共享锁定,直到事务结束并解除锁定
写入:表级互斥,直到事务结束并解除锁定
------------- -请参阅
译文: 3359 www.cn blogs.com/moxie-/p/13528066.html