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造成压力。
🏷️

标签

➡️

继续阅读