oracle 18C 新增加的 scale sequence
从 Oracle Database 18c 开始,您可以使用可扩展序列来提供更好的数据加载可伸缩性,而不是配置非常大的序列缓存。可伸缩序列可提高并发数据加载操作的性能,尤其是在序列值用于填充表的主键列时。
• 如果使用索引,请考虑其他方法,例如反向键索引以优化索引性能。
如果经常插入索引的一侧,例如基于插入日期的索引,则反向键索引特别有用。
可缩放序列可缩放序列可缓解将数据加载到使用序列值作为键的表中的索引叶块争用。
语法:
CREATE |改变序列sequence_name......SCALE [扩展 |不扩展] |NOSCALE
指定 SCALE 子句时,序列的位数前加上一个 6 位数字可缩放序列偏移量编号:
可缩放序列号 = 6 位可缩放序列偏移量 ||正态序号其中,
• ||是串联运算符。
• 6 位可缩放序列偏移量 = 3 位实例偏移量 ||3 位会话偏移量。
3 位实例偏移量数生成为 [(实例 id % 100) + 100]。
3 位会话偏移量编号生成为 [会话 ID % 1000]。
此外,还可以为 SCALE 子句指定 EXTEND 或 NOEXTEND 选项:
从 Oracle Database 18c 开始,您可以使用可扩展序列来提供更好的数据加载可伸缩性,而不是配置非常大的序列缓存。可伸缩序列可提高并发数据加载操作的性能,尤其是在序列值用于填充表的主键列时。
• 如果使用索引,请考虑其他方法,例如反向键索引以优化索引性能。
如果经常插入索引的一侧,例如基于插入日期的索引,则反向键索引特别有用。
可缩放序列可缩放序列可缓解将数据加载到使用序列值作为键的表中的索引叶块争用。
语法:
CREATE |改变序列sequence_name......SCALE [扩展 |不扩展] |NOSCALE
指定 SCALE 子句时,序列的位数前加上一个 6 位数字可缩放序列偏移量编号:
可缩放序列号 = 6 位可缩放序列偏移量 ||正态序号其中,
• ||是串联运算符。
• 6 位可缩放序列偏移量 = 3 位实例偏移量 ||3 位会话偏移量。
3 位实例偏移量数生成为 [(实例 id % 100) + 100]。
3 位会话偏移量编号生成为 [会话 ID % 1000]。
此外,还可以为 SCALE 子句指定 EXTEND 或 NOEXTEND 选项: