更新时间:2024-06-07 GMT+08:00

PCR UBTree

相比于RCR版本的UBTree,PCR版本的UBTree有以下特点。
  • 索引元组的事务信息统一由TD槽进行管理。
  • 增加了Undo操作,插入和删除前需要先写入Undo,事务abort时需要进行回滚操作。
  • 支持闪回。

PCR UBTree通过在创建索引时with选项设置“index_txntype=pcr”或者设置GUC参数“index_txntype=pcr”进行创建,若没有显示指定with选项或者GUC,则默认创建RCR版本的UBTree。

注意,当前版本PCR索引在大数据量的回滚上耗时可能较长(回滚时间随数据量增长可能呈指数型增长,数据量太大可能导致会回滚无法完全执行),回滚时间会在新的版本进行优化。以下是当前版本回滚时间的具体规格:

表1 PCR索引回滚时间的规格

类型/数据量

100

1000

1万

10万

100万

带PCR索引的回滚时间

0.692 ms

9.610 ms

544.678 ms

52,963.754 ms

89,440,029.048 ms

不带PCR索引的回滚时间

0.226 ms

0.916 ms

8.974 ms

94.903 ms

1206.177 ms

两者比值

3.06

10.49

60.70

558.08

74,151.66