2016-11-30 90 views
0

我正在对分区进行研究,并且在子分区主题上遇到了一些问题。Oracle中的子分区会妨碍分区性能

以下是我在oracle手册(https://docs.oracle.com/cd/B19306_01/server.102/b14231/partiti.htm)发现:

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

因此,首先,我得出结论,因为子分区具有自己的”分段“,所以它们有自己的文件。我对么?其次,我想知道是否阻碍了分区的有效性。这里是我的意思:

如果我们有一个分区,通常它是在一个表空间&文件(请纠正我,如果我错了,我甚至不知道是否有可能传播它几个表空间/文件)。这意味着当我们专门在分区中搜索时,它只会查看一个文件。如果子分区是通过几个段(文件)甚至在几个表空间中实现的,那么这是不是意味着当我们查询分区(而不是子分区)时,需要更多时间(相对)?

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

在此先感谢!

回答

3

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

+1

还有一些内容来自于文档:https://docs.oracle.com/cd/E11882_01/server.112/e40540/physical.htm#CNCPT1389 –

1

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

考虑一个PARTITION一个属性来确定,无论是RANGELISTINTERVALHASH

SUBPARTITION基本上是相同的,但通过RANGELISTINTERVALHASH 属性来确定。

就性能或物理存储而言,分区和子分区之间没有区别。