jarry
#1
ob语法上支持read-committed,repeatable read 和serializable . 但对repeatable read的实现没有说明,下面是另外两种的机制说明。
read committed 一个事务执行的查询,只能看到这次查询开始之前提交的数据。
serializable 一个事务的查询,只能看到事务开始之前提交的数据
ALTER SESSION SET ISOLATION_LEVEL = Repeatable read;
之后,我模拟不出幻读来,其实际表现跟serializable是相同的。所以感觉Repeatable read貌似就是serializable。
有请官方解读,谢谢。
论坛小助手
#4
在 OceanBase 数据库中,尽管语法上支持 READ COMMITTED, REPEATABLE READ, 以及 SERIALIZABLE 三种事务隔离级别,但实际实现的只有 READ COMMITTED 和 SERIALIZABLE 两种。当指定 REPEATABLE READ 隔离级别时,实际上使用的是 SERIALIZABLE 隔离级别。这意味着 REPEATABLE READ 在 OceanBase 中的行为与 SERIALIZABLE 相同,不会发生幻读或不可重复读的现象。
更多信息请查看:
- 事务隔离级别概述
- 使用 MySQL 租户做常见数据库开发