事务
1
读未提交(Read Uncommitted):允许脏读取,但不允许更新丢失。如果一个事务已经开始写数据,则另外一个数据则不允许同时进行写操作,但允许其他事务读此行数据。该隔离级别可以通过“排他写锁”实现
2
读提交(Read Committed):允许不可重复读取,但不允许脏读取。这可以通过“瞬间共享读锁”和“排他写锁”实现。读取数据的事务允许其他事务继续访问该行数据,但是未提交的写事务将会禁止其他事务访问该行。
3可重复读取(Repeatable Read):禁止不可重复读取和脏读取,但是有时可能出现幻影数据。这可以通过“共享读锁”和“排他写锁”实现。读取数据的事务将会禁止写事务(但允许读事务),写事务则禁止任何其他事务。
4序列化(Serializable):提供严格的事务隔离。它要求事务序列化执行,事务只能一个接着一个地执行,但不能并发执行。如果仅仅通过“行级锁”是无法实现事务序列化的,必须通过其他机制保证新插入的数据不会被刚执行查询操作的事务访问到。
------------幻读:当对属于某事务正在读取的行范围内的行执行插入或删除操作时,就会出现幻读的问题。由于其他事务的删除操作,使事务第一次读取行范围时存在的行在后续读取时已不存在。与此类似,由于其他事务的插入操作,后续读取时会显示原来读取时并不存在的行。
-----------
快照隔离级别
ALTERDATABASE AdventureWorks
SET ALLOW_SNAPSHOT_ISOLATION ON;
。。。
ALTER DATABASE AdventureWorks
SET ALLOW_SNAPSHOT_ISOLATION OFF;
可重复读隔离级别
浙公网安备 33010602011771号