更新时间: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索引在大数据量的回滚上耗时可能较长(回滚时间随数据量增长可能呈指数型增长,数据量太大可能导致会回滚无法完全执行),回滚时间会在新的版本进行优化。以下是当前版本回滚时间的具体规格:
类型/数据量 |
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 |