在read committed和repeatable read transaction中执行单个select查询有什么区别?

时间:2018-01-08 14:57:36

标签: sql postgresql transactions isolation-level

这个问题与Refactor functions so they can be used within a CTE有点脱节。

问题很简单:在SELECTREAD COMMITTED交易中执行REPEATABLE READ查询是否有所不同?我们假设在事务中没有进行其他查询(甚至是' SELECT'查询)。因此,事务只执行一个SELECT查询。

1 个答案:

答案 0 :(得分:3)

通常情况下,单个SELECT语句会有所不同。

例外情况是SELECT语句调用自己发出多个SQL语句的用户定义函数。

在这种情况下,REPEATABLE READ将使所有这些SQL语句共享数据库的单个快照,而READ COMMITTED将使每个SQL语句看到数据库的不同状态。