我正在对分区进行研究,并在子分区主题上有点死路一条。
以下是我在oracle手册(https://docs.oracle.com/cd/B19306_01/server.102/b14231/partiti.htm)中发现的内容:
“范围列表分区表的分区只是逻辑结构,因为它们的数据存储在子分区的段中。列表子分区与列表分区具有相同的特征。您可以指定默认子分区,就像为列表分区指定默认分区一样。“
因此,首先,我得出结论,由于子分区有自己的“段”,因此它们有自己的文件。我是对的吗?
其次,我想知道这是否会妨碍分区效果。这就是我的意思:
如果我们有一个分区,通常它只在一个表空间和一个表空间上。文件(如果我错了,请纠正我,我甚至不知道是否可以将它传播到几个表空间/文件中)。这意味着当我们专门搜索分区时,它只会查看一个文件。
然后,如果通过几个段(文件)实现子分区,甚至在几个表空间中实现子分区,这是不是意味着当我们查询分区(而不是子分区)时,它需要更多时间(相对)?
最后,我没有时间,也没有可能测试这个理论,这就是我要问的原因。我的项目结束了(完全是我的错),我无法在我公司的服务器上测试分区。
提前致谢!
答案 0 :(得分:3)
细分和文件之间没有直接关系。段从表空间分配空间,表空间由一个或多个文件组成。访问的文件数量不是性能的重要因素。
答案 1 :(得分:1)
实际上,术语SUBPARTITION
有点误导,因为它预计你在PARTITION中有一个“PARTITION”。对于某些操作(例如DROP PARTITION
),这是正确的,但对于其他操作,情况并非如此,例如,如果表具有SUBPARTITIONS,则无法运行ALTER INDEX ... REBUILD PARTITION
。
考虑PARTITION
由一个属性确定,RANGE
或LIST
或INTERVAL
或HASH
SUBPARTITION
基本相同,但由RANGE
,LIST
,INTERVAL
或HASH
的两个属性决定。
在性能或物理存储方面,分区和子分区之间没有区别。