WEB开发网
开发学院数据库Oracle Oracle数据仓库查询优化技术 阅读

Oracle数据仓库查询优化技术

 2007-05-06 12:07:32 来源:WEB开发网   
核心提示:一、运行环境SQL> select * from v$version;BANNEROracle Database 10g Enterprise Edition Release 10.2.0.1.0 - ProdPL/SQL Release 10.2.0.1.0 - ProductionCORE10.2.0.1.0

一、运行环境

SQL> select * from v$version;
BANNER
----------------------------------------------------------------
Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Prod
PL/SQL Release 10.2.0.1.0 - Production
CORE  10.2.0.1.0   Production
TNS for 32-bit Windows: Version 10.2.0.1.0 - Production
NLSRTL Version 10.2.0.1.0 - Production
SQL> show parameter query
NAME                 TYPE    VALUE
------------------------------------ ----------- ------------------------------
query_rewrite_enabled           string   TRUE
query_rewrite_integrity           string    TRUSTED
SQL> conn / as sysdba
已连接。
SQL> create user ning identified by ning;
用户已创建。
SQL> grant dba to ning;
授权成功。
SQL> conn ning/ning
已连接。

本文采用一个简单的星型模型的示例数据,只包含一个事实表fact_sales和一个时间维度表time_dim,具体的生成脚本请见附录。

二、物化视图

通常,在数据仓库中可以通过创建摘要信息(summary)来提升性能。这里的摘要指的是预先对一些连接(join)和聚合(aggregation)进行计算并将结果保存下来,后续查询的时候可以直接利用保存的摘要信息来生成报表。在oracle中,可以利用物化视图(materialized view)来创建数据仓库中的摘要。结合oracle优化器的查询重写(query rewrite)功能,可以在不改写应用的情况下,利用物化视图提升查询性能。显然,物化视图需要一种刷新机制来保证和基表的数据同步,Oracle提供了两种刷新方式:增量刷新(fast refresh)和完全刷新(complete refresh)。增量刷新方式需要满足一系列的条件(具体的限制条件请参考Metalink:Doc ID: Note:222843.1),简单起见,本文例子中的物化视图采用了完全刷新方式。

1 2 3 4 5 6  下一页

Tags:Oracle 数据 仓库

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接