基于可更改的分区表创建动态视图

时间:2020-10-12 09:22:14

标签: oracle query-performance sql-view

我有一个应用程序,该应用程序从oracle中的一个视图读取,该视图从一个大表中读取,该视图包含函数并与其他表联接。

该视图需要一段时间才能运行,因为该表每个月都会变大。

我尝试按年份对表进行分区,并且变得比以前更快。

我的问题是如何基于可变分区(按年份)创建视图。

1 个答案:

答案 0 :(得分:3)

假设PARTITION_COL是作为分区键的日期列,则可以执行以下操作:

create or replace
view THIS_CURRENT_YEAR as
select *
from  MY_PARTITIONED_TABLE
where PARTITION_COL >= trunc(sysdate,'YYYY')
and PARTITION_COL <  add_months(trunc(sysdate,'YYYY'),12)

通过这种方式,您将在可能的情况下进行分区修剪。