Questions tagged «isolation-level»

隔离级别定义了SQL事务可以查看或访问的数据,而其他事务使用相同的数据。




9
不可重复读和幻像读之间有什么区别?
不可重复读和幻像读之间有什么区别? 我已经阅读了Wikipedia的Isolation(数据库系统)文章,但是我有一些疑问。在下面的示例中,将发生什么:不可重复读取和幻像读取? 交易A SELECT ID, USERNAME, accountno, amount FROM USERS WHERE ID=1 输出: 1----MIKE------29019892---------5000 交易B UPDATE USERS SET amount=amount+5000 where ID=1 AND accountno=29019892; COMMIT; 交易A SELECT ID, USERNAME, accountno, amount FROM USERS WHERE ID=1 在上面的示例中,另一个疑问是应使用哪个隔离级别?又为什么呢


3
事务隔离级别与表上的锁的关系
我已经阅读了大约4个隔离级别: Isolation Level Dirty Read Nonrepeatable Read Phantom Read READ UNCOMMITTED Permitted Permitted Permitted READ COMMITTED -- Permitted Permitted REPEATABLE READ -- -- Permitted SERIALIZABLE -- -- -- 我想了解每个事务隔离对表的锁定 READ UNCOMMITTED - no lock on table READ COMMITTED - lock on committed data REPEATABLE READ - lock on block of …


3
为什么System.Transactions TransactionScope默认为Isolationlevel可序列化
我只是想知道在创建System.Transactions TransactionScope时使用Serializable作为默认Isolationlevel的一个很好的理由是什么,因为我想不到任何原因(而且似乎无法更改默认值,因此您总是必须在其中设置它您的代码) web/app.config using(var transaction = TransactionScope()) { ... //creates a Transaction with Serializable Level } 相反,我总是不得不像这样编写样板代码: var txOptions = new System.Transactions.TransactionOptions(); txOptions.IsolationLevel = System.Transactions.IsolationLevel.ReadCommitted; using(var transaction = new TransactionScope(TransactionScopeOption.Required, txOptions)) { ... } 有任何想法吗?

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.