原文链接:www.gbase.cn/community/p…
更多精彩内容尽在南大通用GBase技术社区,南大通用致力于成为用户最信赖的数据库产品供应商。
GBase 8c采用MVCC(多版本并发控制)技术,实现读写不冲突,提升读写并行处理能力。支持多重机制保证数据一致性。
下文对读已提交、可重复读两种隔离级别进行测试验证。
1、读已提交
默认隔离级别查询:
select name,setting from pg_settings where name='default_transaction_isolation';
创建测试表AMOUNT:
CREATE TABLE AMOUNT (
id varchar(10),
money numeric(6,2)
)
distribute by hash(id)
to group default_group;
插入测试数据:
insert into amount(id,money) values('A', 800);
insert into amount(id,money) values('B', 200);
insert into amount(id,money) values('C', 1000);
session1,测试读已提交,插入数据:
START TRANSACTION ISOLATION LEVEL read committed;
insert into amount(id,money) values('D', 1000);
开启session2查询数据,只能查到前3行,未提交的D查不到:
select * from amount;
session1,提交事务
commit;
session2中查询数据,能查看到D数据:
select * from amount;
2、可重复读 repeatable read
创建测试表AMOUNT
drop table AMOUNT;
CREATE TABLE AMOUNT (
id varchar(10),
money numeric(6,2)
)
distribute by hash(id)
to group default_group;
插入测试数据
insert into amount(id,money) values('A', 800);
insert into amount(id,money) values('B', 200);
insert into amount(id,money) values('C', 1000);
select * from amount;
session1,测试可重复读,插入数据
begin isolation level repeatable read;
select * from amount;
开启session2,插入D数据
insert into amount(id,money) values('D', 1000);
select * from amount;
session1查询数据,可以重复查看之前的数据
select * from amount;
原文链接:www.gbase.cn/community/p…
更多精彩内容尽在南大通用GBase技术社区,南大通用致力于成为用户最信赖的数据库产品供应商。