1

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

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

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

感谢您的输入。

4

1 回答 1

2

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

你需要测试一下!也许使用物化视图可能是一种选择?这会给你一个自动维护的表。

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

于 2012-08-17T06:43:14.530 回答