Gaussdb的三种事务隔离级别
- 读未提交(READ UNCOMMITTED)
事务1正在修改某一行的数据,修改完后没有提交,事务2并发进行读数据,事务2读到的是未提交的数据,此时就造成了“脏读“的现象,为了解决这一问题,可以设置”读已提交“的事务隔离级别。
- 读已提交(READ COMMITTED)
还是以上描述的案例,此时事务2所读取到的数据还是之前已经提交事务的数据,未提交的事务1修改的数据不能查询到。
- 可重复读(REPEATABLE READ)
先说下不可重复读:事务1正在查询一个数据,事务2将这个数据进行修改并提交,事务1再次查询时,查询到的数据是事务2修改后的数据,前后查询到的数据不一致。
为了解决这一问题,可以设置可重复度的事务隔离级别,这样,仅仅能看到事务开始之前提交的数据,不能看到未提交的数据,以及在事务执行期间由其它并发事务提交的修改。