Oracle 索引和分区
Oracle Indexes and Partitioning
我正在确认是否对 Oracle 数据进行分区也会对减少用于索引的 space 总量产生影响。
我想如果有更多的 tablespaces 涉及,索引数据的大小应该减少以解决该数据,导致索引大小的减少大于减少数据大小。
但是,我找不到任何东西来证实这一点。现在,我没有分区许可证,我想将其用作成本合理性的一小部分(尽管性能是最大的)。
索引值包含实际值和始终为 10 字节的 ROWID。
我看不出分区 table 上的索引可能比普通 table 上的索引小的任何原因 - 除非您使用 Partial Indexes for Partitioned Tables
分区索引的总大小可以小于整个索引的大小,因为索引在其 B 树中的级别可能较少。
如果N是行数,p是分区数,那么消耗的索引space可以近似为:
未分区:N * [log N]
分区:p * N/p * [log N/p] = N * [log N/p]
[] 四舍五入到最接近的整数
我正在确认是否对 Oracle 数据进行分区也会对减少用于索引的 space 总量产生影响。
我想如果有更多的 tablespaces 涉及,索引数据的大小应该减少以解决该数据,导致索引大小的减少大于减少数据大小。
但是,我找不到任何东西来证实这一点。现在,我没有分区许可证,我想将其用作成本合理性的一小部分(尽管性能是最大的)。
索引值包含实际值和始终为 10 字节的 ROWID。
我看不出分区 table 上的索引可能比普通 table 上的索引小的任何原因 - 除非您使用 Partial Indexes for Partitioned Tables
分区索引的总大小可以小于整个索引的大小,因为索引在其 B 树中的级别可能较少。
如果N是行数,p是分区数,那么消耗的索引space可以近似为:
未分区:N * [log N]
分区:p * N/p * [log N/p] = N * [log N/p]
[] 四舍五入到最接近的整数