Oracle物化视图2 -- Query Rewrite及参数

Query Rewrite的条件

  • Individual materialized views must have the ENABLE QUERY REWRITE clause.
  • The session parameter QUERY_REWRITE_ENABLED must be set to TRUE (the default) or FORCE.
  • Cost-based optimization must be used by setting the initialization parameter OPTIMIZER_MODE to ALL_ROWS, FIRST_ROWS, or FIRST_ROWS_n.

影响Query Rewrite的参数

  • QUERY_REWRITE_ENABLED = TRUE (default), FALSE, or FORCE
  •  QUERY_REWRITE_INTEGRITY - STALE_TOLERATED, TRUSTED, or ENFORCED (the default)
  •  OPTIMIZER_MODE = ALL_ROWS (default), FIRST_ROWS, or FIRST_ROWS_n

详细介绍Query_Rewrite

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要获取物化视图的DDL,可以使用Oracle的数据字典视图`DBA_MVIEWS`和`DBA_MVIEW_REFRESH_TIMES`,具体步骤如下: 1. 使用`DBA_MVIEWS`视图查询物化视图的相关信息,包括物化视图的名称、OWNER,以及物化视图的定义等。 例如,查询名为“MY_MV”的物化视图的DDL可以使用以下SQL语句: ```sql SELECT QUERY, REWRITE_ENABLED, BUILD_MODE, REFRESH_MODE FROM DBA_MVIEWS WHERE OWNER = 'MY_SCHEMA' AND MVIEW_NAME = 'MY_MV'; ``` 上述SQL语句将返回名为“MY_MV”的物化视图的查询语句、是否启用重写、物化视图的构建模式以及刷新模式等信息。 2. 如果物化视图是定期刷新的,则可以使用`DBA_MVIEW_REFRESH_TIMES`视图查询物化视图的刷新计划。 例如,查询名为“MY_MV”的物化视图的刷新计划可以使用以下SQL语句: ```sql SELECT START_DATE, NEXT_DATE, INTERVAL, FAILURES, LAST_REFRESH_TYPE FROM DBA_MVIEW_REFRESH_TIMES WHERE OWNER = 'MY_SCHEMA' AND MVIEW_NAME = 'MY_MV'; ``` 上述SQL语句将返回名为“MY_MV”的物化视图的刷新计划的开始时间、下一次刷新时间、刷新间隔、刷新失败次数以及最后一次刷新的类型等信息。 3. 根据查询结果手动拼接出物化视图的DDL语句,其中包括物化视图的定义、刷新计划等信息。 例如,以下是一个示例DDL语句,用于创建名为“MY_MV”的物化视图: ```sql CREATE MATERIALIZED VIEW MY_SCHEMA.MY_MV BUILD IMMEDIATE REFRESH COMPLETE START WITH SYSDATE NEXT SYSDATE + 1/24 AS SELECT * FROM MY_SCHEMA.MY_TABLE WHERE MY_COLUMN > 10; ``` 上述DDL语句包括物化视图的名称、OWNER、构建模式、刷新模式、刷新计划以及查询语句等信息。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值