Oracle数据库手册表分区

时间:2016-11-23 08:37:40

标签: oracle partitioning oracle12c

我们的系统中有实时数据库和档案数据库。来自实时数据库的日常数据被移动到档案数据库中。每天我们将大约200万个数据生成到不同的表中。

由于我们需要将数据保存10年,因此我们创建了另一个用于存档目的的oracle数据库,并使用批处理每隔午夜推送数据。

由于数据快速增长,我们担心将数据存储在档案数据库的表格中。由于我们没有oracle分区许可证,我们已经为每个月创建了10年的表(共120张表)。

我们的档案数据库写得更多,只有少数只读。通过将表拆分为多个表,在性能/存储方面是否有任何经证实的优势?

此致 Mayuran

1 个答案:

答案 0 :(得分:1)

是的。如果没有分区许可证并将整个数据存储在一个表中,则无法将其拆分为多个表空间。但是当你创建多​​个表时,你可以创建一个表空间,让我们每年都说。这允许您存储10年前的数据,这些数据被查询的频率较低,读取的读数比较新的数据更频繁查询。
如果您有任何索引,那么另一个优点是索引的大小。当然,您需要一些逻辑来决定要查询的表(例如,基于传递给proc的月份返回ref cursor的过程)但是当您在应用程序或数据库端应用此手动决策时,您的索引将小于1巨大。
下一次冒险,当某段时间超过10年时,你只需删除后缀为_1015的表(我建议使用月份和年份的后缀)。不需要删除,缩小等等。