在Oracle 11gR2上使用Union ALL的大视图

时间:2012-08-17 04:54:34

标签: sql database performance oracle

我想使用Union ALL创建一个视图。 View本身会相当大。记录在5亿到8亿之间。

也就是说,基础数据每年将被划分4次并具有适当的索引。对各个范围本身的查询应该具有相当低的成本。

我是否需要担心视图的大小(就行数而言)?我会更好地使用一个单独的表,该表由视图生成的数据和通过ETL过程加载。我不熟悉内部的观点如何运作,所以我担心的是,如果说30多个工会将是一个问题。

欣赏您的输入。

1 个答案:

答案 0 :(得分:2)

视图只是一个“隐藏”的SQL语句。因此,当您引用视图时,每次都会运行SQL语句,因此我会说这取决于您将如何使用视图。在使用视图时,您可能会使用什么谓词(where-clause)?如果这些谓词使oracle能够从结果中快速消除大量行/连接,那么它将会很快。

你需要测试它!也许使用物化视图可能是一种选择?这将为您提供一个自动维护的表。

我的第一个选择是至少使用和测试视图,因为你不必以任何方式维护它。使用某种类型的ETL听起来像是一些工作:)