SQLServer事务隔离类比

时间:2010-08-24 13:55:24

标签: sql-server

有没有人对SQL Server事务隔离级别有很好的比喻? (SQL 2005向上)

1 个答案:

答案 0 :(得分:5)

我能够使用的最佳类比是源代码控制和构建应用程序。结账是锁定,构建是交易。

我之前没有写过,所以以下只是我使用的概念的简短摘要。就像任何类比一样,如果你把它拉得太远就会崩溃。

Read Committed - 代码已签出(锁定),您无法在签入代码之前构建代码(事务)。

Read Uncommitted - 您可以看到代码,但您不知道它是旧版本还是更新版本。构建可能有效或可能无效,具体取决于是否已检入所有代码。

可重复读取 - 在构建过程中无法检出文件,但如果文件不影响构建,则可以将文件添加到项目中。

Serializable - 在构建过程中无法检出或添加文件;整个项目正在使用/检出(范围锁定)。

快照 - 用户使用标记为发布的文件,但没有看到下一版本的更改。