SQLSERVER 四大事务隔离到底怎么理解?
💡
原文中文,约3300字,阅读约需8分钟。
📝
内容提要
SQLSERVER支持四种事务隔离级别,READ UNCOMMITTED、READ COMMITTED、SERIALIZABLE和REPEATABLE READ,可以通过SQL Profile工具可视化观察锁过程,READ UNCOMMITTED会引发脏读,READ COMMITTED以不出现脏读为目标,REPEATABLE READ可实现可重复读,但会出现幻读。
🎯
关键要点
- SQLSERVER支持四种事务隔离级别:READ UNCOMMITTED、READ COMMITTED、SERIALIZABLE和REPEATABLE READ。
- 事务的本质是隔离,需要通过锁机制实现。
- 可以使用SQL Profile工具可视化观察锁过程。
- SERIALIZABLE事务会对数据加S锁,导致读写事务完全排斥,可能造成相互阻塞。
- REPEATABLE READ事务保证同一查询在事务期间不会出现记录修改,但可能出现幻读现象。
- READ COMMITTED是SQLSERVER的默认隔离级别,旨在避免脏读。
- READ UNCOMMITTED不会对表记录使用任何锁,导致脏读现象。
- SQLSERVER还有带版本的SNAPSHOT隔离级别,但会对TempDB造成压力。
🏷️
标签
➡️