MySQL事务的默认隔离级别是“可重复读取”。根据另一个堆栈溢出问题( ),“可重复读取是一个更高的隔离级别,除了对已提交读取级别的保证之外,它还保证任何数据读取都不能更改,如果事务再次读取相同的数据,它将发现先前读取的数据已就位,没有变化,并可供读取SELECT @new_val := howmany FROM people WHERE name = 'alex';SET @new_val = @new_val - 5;new_val := ho
如果我对SQL Server使用普通的JDBC连接,并将隔离级别设置为READ_REPEATABLE并使用一个简单的select,我会在可重复读取中看到不一致吗?或者,我应该始终使用select for update来避免事务中不一致的可重复读取吗?如果是这样的话,隔离级别是如何处理的,它们将如何发挥作用?
如果我们以同一链接上的不可重复读取和可重复读取隔离级别为例,根据我的理解,trnsaction 1在启动第一个查询时开始,即SELECT * FROM users WHERE id = 1.数据库管理系统将保持对- may occur -根据我的理解,最可靠的是可序列化的,然后是可重复的读,然后是读提交,但我仍然看到aplications使用Read。因为<em