首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >实例化视图与增量刷新的表的区别

实例化视图与增量刷新的表的区别
EN

Stack Overflow用户
提问于 2015-07-30 13:52:02
回答 3查看 910关注 0票数 2

有一个问题是我们为什么要创建物化视图。我有一个表,为了逐步刷新这个表,我有一个dbms作业,它将来自不同表的数据合并到这个表中。因此它等同于快速刷新物化视图。有什么不同吗?在上述两种情况下,哪种实现更好?

EN

回答 3

Stack Overflow用户

发布于 2015-07-30 14:12:16

可以按需刷新实体化视图,也可以按刷新频率刷新。它可以由两个或更多个表的联接组成。

创建实体化视图时,可以选择指定刷新是按需进行还是在提交时进行。在ON COMMIT的情况下,每次事务处理提交时,实体化视图都会更改,从而确保实体化视图始终包含最新数据。或者,您可以通过指定ON DEMAND来控制实体化视图的刷新时间。在按需实体化视图的情况下,可以使用DBMS_SYNC_REFRESH或DBMS_MVIEW程序包中提供的刷新方法执行刷新:

这是文档link

此外,可以增量地刷新实例化视图。

您的自定义解决方案

需要大量的代码,而且伸缩性不好。

票数 0
EN

Stack Overflow用户

发布于 2015-07-30 17:34:53

可以使用实体化视图日志对certain conventions之后的实体化视图进行快速刷新。这意味着Oracle只需处理实际更改即可刷新实体化视图,其中合并操作每次都必须比较所有行。因此,物化视图将允许更快、更频繁的刷新,尤其是对于较大的表。

票数 0
EN

Stack Overflow用户

发布于 2015-08-04 19:43:04

经过大量的搜索,我在物化视图上找到了一些我们在普通表上做不到的东西,那就是查询重写。下面是我的发现。

代码语言:javascript
代码运行次数:0
运行
复制
SQL> GRANT GLOBAL QUERY REWRITE to mydbdba;

SQL> CREATE MATERIALIZED VIEW customers_mw ENABLE QUERY REWRITE
AS
SELECT COUNT(*) c,state_id FROM sg.customers GROUP BY state_id;

SQL> alter session set QUERY_REWRITE_ENABLED=TRUE;

Session altered.

SQL> SELECT COUNT(*) c,state_id FROM sg.customers GROUP BY state_id;

Execution Plan

Plan hash value: 799451518


| Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time |

| 0 | SELECT STATEMENT | | 52 | 364 | 3 (0)| 00:00:01 |
| 1 | MAT_VIEW REWRITE ACCESS FULL| CUSTOMERS_MW | 52 | 364 | 3 (0)| 00:00:01 |

SQL> alter session set QUERY_REWRITE_ENABLED=FALSE;

Session altered.

SQL> SELECT COUNT(*) c,state_id FROM sg.customers GROUP BY state_id;

Execution Plan

Plan hash value: 1577413243


| Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time |

| 0 | SELECT STATEMENT | | 52 | 156 | 327 (1)| 00:00:01 |
| 1 | HASH GROUP BY | | 52 | 156 | 327 (1)| 00:00:01 |
| 2 | TABLE ACCESS FULL| CUSTOMERS | 50000 | 146K| 326 (1)| 00:00:01 |

您可以在上面的示例中看到如何使用实例化视图,而不是再次扫描整个表。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31716063

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档