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



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

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

我是否需要担心视图的大小(就行数而言)? 我最好使用一个单独的表,该表由视图生成的数据组成并通过 ETL 过程加载。 我不熟悉内部观点的运作方式,所以我担心的是说30+工会是否会成为一个问题。

感谢您的投入。

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

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

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

最新更新