Sql Oracle/RDBMS的增量查询引擎
我不确定“增量”这个词是否正确。我将继续说明这个问题 我有两张大桌子,X和Y。 Z是另一个表,它是X和Y的连接Sql Oracle/RDBMS的增量查询引擎,sql,oracle,join,etl,Sql,Oracle,Join,Etl,我不确定“增量”这个词是否正确。我将继续说明这个问题 我有两张大桌子,X和Y。 Z是另一个表,它是X和Y的连接 Create Table Z as select X.col1, X.col2, Y.col2, Y.col3 from X join Y on X.id=Y.id" 现在,无论何时更新表X或Y中的任何值,都应该刷新我在Z中的数据。 有两种方法可以做到这一点: 定期显式刷新表Z。 缺点是1)数据未实时更新2)再次运行联接的刷新花费了大量时间,尽管只更改了一个字段 根据X和Y的任
Create Table Z as
select X.col1, X.col2, Y.col2, Y.col3
from X
join Y on X.id=Y.id"
现在,无论何时更新表X或Y中的任何值,都应该刷新我在Z中的数据。
有两种方法可以做到这一点:
X
和表Y
(“基表”)之间的连接称为下面的表Z
,但Z
可能是表、视图或物化视图:
正如Alex所提到的,可能有一些原因导致您不想使用物化视图,因此让我提及一些常见的原因不:
- 生成的物化视图将占用大量物理磁盘空间;例如,当连接巨大的表
和X
时,将创建一个巨大的表Y
Z
- 基本表X和Y经常更新,而表
的访问频率不如基本表的更新频率高Z
Z
或视图Z
的优点包括:
- 与从基表获取数据的视图相比,对数据的快速访问
- 物化视图可以根据基于时间的计划进行刷新,也可以在基表上的数据更改时进行刷新,或者根据请求进行刷新。由于包含了标记,因此可以在特定过程或作业运行后刷新物化视图
- 您可以在基表上创建物化视图日志,以进一步加快物化视图刷新的速度
- 如果经常查询表
,则物化视图可能比常规视图快Z
Z
不需要基表中的很多列,则常规视图可以工作。如果联接条件产生少量行,则物化视图可能是最好的
参考资料:
- 物化视图
- 物化视图
X
和表Y
(“基表”)之间的连接称为下面的表Z
,但Z
可能是表、视图或物化视图:
正如Alex所提到的,可能有一些原因导致您不想使用物化视图,因此让我提及一些常见的原因不:
- 生成的物化视图将占用大量物理磁盘空间;例如,当连接巨大的表
和X
时,将创建一个巨大的表Y
Z
- 基本表X和Y经常更新,而表
的访问频率不如基本表的更新频率高Z
Z
或视图Z
的优点包括:
- 与从基表获取数据的视图相比,对数据的快速访问
- 物化视图可以根据基于时间的计划进行刷新,也可以在基表上的数据更改时进行刷新,或者根据请求进行刷新。由于包含了标记,因此可以在特定过程或作业运行后刷新物化视图
- 您可以在基表上创建物化视图日志,以进一步加快物化视图刷新的速度
- 如果经常查询表
,则物化视图可能比常规视图快Z
Z
不需要基表中的很多列,则常规视图可以工作。如果联接条件产生少量行,则物化视图可能是最好的
参考资料:
- 物化视图
- 物化视图