我有一个应用程序,该应用程序从oracle中的一个视图读取,该视图从一个大表中读取,该视图包含函数并与其他表联接。
该视图需要一段时间才能运行,因为该表每个月都会变大。
我尝试按年份对表进行分区,并且变得比以前更快。
我的问题是如何基于可变分区(按年份)创建视图。
答案 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)
通过这种方式,您将在可能的情况下进行分区修剪。