对于高容量表使用默认表空间是否合适?

时间:2014-08-23 13:53:23

标签: oracle performance oracle11g oracle12c tablespace

在我们的应用程序(基于Oracle)中,我们正在处理大量数据。对于少数主要表,我们使用单独的表空间,但是对于剩余的表,正在使用默认表空间。

我的查询是,

一个。为每个表(记录数超过百万)提供单独的表空间是好的(在性能方面) 湾或者我们可以为其余表定义单独的表空间而不是默认表空间。
C。如果默认表空间用于高容量表,它会影响性能吗?

任何建议都将不胜感激。

2 个答案:

答案 0 :(得分:2)

现在通常,您的表空间没有专用光盘,数据存储在存储网络(SAN)中,并且您与物理文件系统没有任何固定关系。因此,只要您没有非常特殊的非常大的数据,表空间的分布就像前一天那样敏感或不重要。

例如,我有一个应用程序,每天我得到大约10亿条记录,即app。 150GB。在那里,我为每个每日分区使用一个表空间(即150个循环表空间)。主要原因是更容易维护,例如截断旧数据。

答案 1 :(得分:1)

但是,当你考虑像本地管理的表空间之类的东西时,SAN似乎已经杀死了这个争论,有一种趋势是使用这些来获取表来继承存储属性。例如,现在很常见的是看到诸如LM_SMALL_TABLE,LM_MEDIUM_TABLE,LM_LARGE_TABLE(和索引的类似),或LM_16k_TABLE,LM_1M_TABLE,LM_10M_TABLE,LM_100M_TABLE等索引之类的tablepsaces。这些将初始和下一个扩展区设置为16k,1m等。然后将表放在适合预期卷的表空间中。您有时会看到数据库,其中存档/只读数据通过将表/分区移动到此类表空间而移动到更便宜的磁盘。我在每个表上看到1个表空间的唯一一次是在8i上,客户端想要这样做,以便通过恢复表空间/数据文件将特定的表恢复到备份。