首页 > 解决方案 > 在具有相同架构的表上使用视图

问题描述

我们正在使用多个表来按月保存实体的数据。意思是,我们的表名是 xx01、xx02...xx12。除了名称之外,所有这些表的表定义都相同。我们这样做是为了在我们认为它很旧时可以丢弃一张桌子。例如:在 12 月删除 2 月的桌子。桌子掉落基本上是免费的。我的问题是,我可以创建一个可以从这些表中读取的视图吗?视图应该能够从这些表中的任何一个中获取数据,可能从多个表中获取范围查询。数据库:甲骨文 12c。PS:我们不能有月份的列并对其进行分区,因为我们必须根据其他列进行分区和子分区以提高读取性能。

标签: sqloracle

解决方案


我认为可能有更好的方法,它可以在 Oracle 上运行:你应该只有一个表 xx,其中有一列用于月(或月/年)-但在该月(或月/年)将其设为分区表年)栏。

Oracle 将做的是为分区列的每个值创建一个单独的存储区域,如果您的查询包含该分区列的值(或范围),它将足够聪明,只查看适当的存储区域.

如果您决定不再保留特定月份(或月/年),您可以告诉 Oracle 删除该分区,同时保持表的其余部分不变。


推荐阅读