Oracle的物化视图管理

Jun 07, 2016 pm 04:56 PM
oracle データベース

11. 实体化视图的日志管理 实体化视图日志是一个表,保持对实体化视图操作的历史记录. 要创建实体化视图日志必须能在表

  1. 实体化视图概念

  实体化视图管理是用于汇总,预计算,复制或分发数据的对象, 在大型的数据库中使用它可以提高涉及到的SUM,COUNT,AVG,MIN,MAX等的表的查询的速度,只要在实体化视图管理上创建了统计,查询优化器将自动的使用实体化视图管理,这特性被称为QUERY REWRITE(查询重写).与普通的视图不同的是实体化视图管理存储数据,占据数据库的物理空间的.

  创建实体化视图管理的用户的权限必须有: CREATE MATERIALZED VIEW,CREATE TABLE,CREATE VIEW,SELECT等,如果在其他的模式中创建的话要在表上有CREATE ANY MATERIALIZED VIEW和SELECT权限.

  要查询重引用别的模式中的实体化视图管理的话,还要有引用的表的GLOBAL QUERY REWRITE OR QUERY REWRITE权限.

  如果计划使用实体化视图管理的话,要修改参数文件中加: QUERY_REWRITE_ENABLE=TRUE

  2. 创建实体化视图注意事项:

  创建之后,是否要填写数据

  多长时间刷新一次

  使用那种刷新类型: COMPLE(完全),FAST(快速),FORCE(强制),NEVER(从不)

  3. 创建实体化视图

  CREATE MATERIALIZED VIEW TEST3

  PCTFREE 0 TABLESPACE MTEST

  STORAGE (INITIAL 1M NEXT 1M PCTINCREASE 0)

  BUILD DEFERRED

  REFRESH FAST ON COMMIT

  ENABLE QUERY REWRITE

  AS SELECT EMP_NO,SUM(QTY_PSC) AS QTY_PSC FROM BSEMPMS GROUP BY EMP_NO;

  4. 删除实体化视图

  DROP MATERIALIZED VIEW TEST3;

  5. 管理和评估实体化视图的工具

  要运行DBMSSNAP.SQL和DBMSSUM.SQL为实体化视图创建包DBMS_MVIEW和DBMS_OLAP

  DBMS_MVIEW用于执行管理活动的.

  DBMS_OLAP确定实体化视图是否能提高查询的性能.

  6. 刷新实体化视图的方法

  EXECUTE DBMS_MVIEW.REFRESH('TEST3','C');

  其中TEST3为实体化视图名称,'C'为刷新类型中的一种.

  刷新类型有: C-完全刷新

  F-快速刷新和强制刷新

  EXECUTE DBMS_MVIEW.REFRESH_ALL

  不接受任何参数,全部刷新.

  7. 实体化视图间的完整性

  在实体化视图互相嵌套的时候会用不同的实体化视图的刷新的方式和时间的不同而引起的数据的完整性的问题,对于这种情况,建议把相关联的实体化视图放在同一个刷新组中,协调进行刷新.

  DBMS_REFRESH软件包中提供MAKE过程来创建一个刷新组.

  例如:

  EXECUTE DBMS_REFRESH.MAKE

  (NAME=>'TEST_GROUP',

  LIST=>'LOC_EMP,LOC_DPT',

  NEXT_DATE=>SYSDATE,

  INTERVAL=>'SYSDATE+7');

  上面创建一个实体化视图刷新组TEST_GROUP,刷新周期为7天一次的.

  两个实体化视图LOC_EMP和LOC_DPT通过一个参数来传递给过程的.

linux

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットな記事タグ

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

Oracle データベースのログはどのくらいの期間保存されますか? Oracle データベースのログはどのくらいの期間保存されますか? May 10, 2024 am 03:27 AM

Oracle データベースのログはどのくらいの期間保存されますか?

Oracle データベース サーバーのハードウェア構成要件 Oracle データベース サーバーのハードウェア構成要件 May 10, 2024 am 04:00 AM

Oracle データベース サーバーのハードウェア構成要件

Oracle にはどれくらいのメモリが必要ですか? Oracle にはどれくらいのメモリが必要ですか? May 10, 2024 am 04:12 AM

Oracle にはどれくらいのメモリが必要ですか?

Oracle データベースを使用するために必要なメモリの量 Oracle データベースを使用するために必要なメモリの量 May 10, 2024 am 03:42 AM

Oracle データベースを使用するために必要なメモリの量

Oracle のスケジュールされたタスクは、作成ステップを 1 日に 1 回実行します。 Oracle のスケジュールされたタスクは、作成ステップを 1 日に 1 回実行します。 May 10, 2024 am 03:03 AM

Oracle のスケジュールされたタスクは、作成ステップを 1 日に 1 回実行します。

Oracle データベースにはどれくらいのメモリが必要ですか? Oracle データベースにはどれくらいのメモリが必要ですか? May 10, 2024 am 02:09 AM

Oracle データベースにはどれくらいのメモリが必要ですか?

PHP で MySQLi を使用してデータベース接続を確立するための詳細なチュートリアル PHP で MySQLi を使用してデータベース接続を確立するための詳細なチュートリアル Jun 04, 2024 pm 01:42 PM

PHP で MySQLi を使用してデータベース接続を確立するための詳細なチュートリアル

Oracleでリスニングプログラムを開始する方法 Oracleでリスニングプログラムを開始する方法 May 10, 2024 am 03:12 AM

Oracleでリスニングプログラムを開始する方法

See all articles