为什么Oracle本地分区索引不能保证唯一性(除非分区键是约束的一部分)?
原因有两方面。
第一,如果Oracle允许如此,就会丧失分区的大部分优势。可用性和可扩展性都会丧失殆尽,因为对于任何插入和更新操作都要扫描每一个分区,此时所有分区都必须保证可用。分区数量越多,数据整体的可用性就会超低。另外,分区越多,要扫描的索引分区就越多,分区也会变得越发不可扩展。这样做不仅不能提供可用性和可扩展性,实际上反倒会削弱可用性和可扩展性。
第二,倘若本地分区索引能保证唯一性,表的插入和更新操作实际上就会串行化。