Oracle 中的子分区是否会影响分区性能



我正在对分区进行研究,并在子分区主题上陷入了僵局。

以下是我在预言机手册(https://docs.oracle.com/cd/B19306_01/server.102/b14231/partiti.htm)中发现的内容:

"范围列表分区表的分区只是逻辑结构,因为它们的数据存储在其子分区的段中。列表子分区与列表分区具有相同的特征。您可以指定默认子分区,就像为列表分区指定默认分区一样。

因此,首先,我得出结论,由于子分区有自己的"段",因此它们有自己的文件。我说的对吗?

第二,我想知道这是否妨碍了分区的效力。我的意思是:

如果我们有一个分区,通常它是在单个表空间和文件上(如果我错了,请纠正我,我什至不知道是否可以将其分布在几个表空间/文件上)。这意味着当我们专门在分区中搜索时,它只会查看一个文件。

再说一次,如果子分区是通过几个段(文件)甚至在几个表空间中实现的,这是否意味着当我们查询分区(而不是子分区)时,它会花费更多时间(相对)?

最后,我没有时间,也没有可能测试这个理论,这就是我问的原因。我的项目即将结束(完全是我的错),我无法真正在公司的服务器上测试分区。

提前感谢!

段和文件之间没有直接关系。段是从表空间中分配的空间,表空间由一个或多个文件组成。访问的文件数不是影响性能的重要因素。

实际上术语SUBPARTITION有点误导,因为它预期您有一个"分区内的分区"。对于某些操作(例如DROP PARTITION) 这是真的,但对于其他操作,情况并非如此,例如,如果表有 SUBPARTITIONS,则无法运行ALTER INDEX ... REBUILD PARTITION

考虑由一个属性确定的PARTITIONRANGELISTINTERVALHASH

SUBPARTITION基本相同,但由RANGELISTINTERVALHASH两个属性决定。

在性能或物理存储方面,分区和子分区之间没有区别。

最新更新