Oracle数据仓库查询优化技术
2007-05-06 12:07:32 来源:WEB开发网核心提示: 再次执行相同的查询,发现执行计划已经改变,Oracle数据仓库查询优化技术(3),优化器自动使用刚才建立的物化视图代替两张基表的查询:SQL> select t.t_month, sum(f.amount1),sum(f.amount2)2 from time_dim t,fact_
再次执行相同的查询,发现执行计划已经改变,优化器自动使用刚才建立的物化视图代替两张基表的查询:
SQL> select t.t_month, sum(f.amount1),sum(f.amount2)
2 from time_dim t,fact_sales f
3 where t.time_id=f.time_id
4 group by t.t_month;
已选择33行。
执行计划
----------------------------------------------------------
Plan hash value: 3083828679
----------------------------------------------------------------------------
| Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time |
----------------------------------------------------------------------------
| 0 | SELECT STATEMENT | | 33 | 1155 | 3 (0)| 00:00:01 |
| 1 | MAT_VIEW REWRITE ACCESS FULL| MV_MONTH | 33 |1155 |3 (0)| 00:00:01 |
----------------------------------------------------------------------------
三、Dimension
数据仓库中由于数据量巨大,一些聚合计算等操作往往通过物化视图预先计算存储,但是,不可能对所有维度的所有可能的聚合操作都建立物化视图。那么,在对某些聚合操作的SQL进行查询重写时,就希望能利用已经存在的物化视图,尽管他们的聚合操作条件不完全一致。而dimension定义的各个level之间的层次关系,对于一些上卷(rolling up)和下钻(drilling down)操作的查询重写的判断是相当重要的,dimension中定义的attributes对于使用不同的列来做分组的查询重写起作用。
在上一个物化视图的例子中,我们通过建立一个月度聚合的物化视图,使得月度统计的SQL能够通过查询重写从物化视图中受益。但是,如果我们想按季度统计信息,则无法利用到该物化视图:
- ››oracle 中 UPDATE nowait 的使用方法
- ››Oracle ORA-12560解决方法
- ››Oracle 10g RAC 常用维护命令
- ››Oracle如何在ASM中定位文件的分布
- ››Oracle的DBMS_RANDOM.STRING 的用法
- ››oracle 外部表导入时间日期类型数据,多字段导入
- ››Oracle中查找重复记录
- ››oracle修改用户登录密码
- ››Oracle创建删除用户、角色、表空间、导入导出等命...
- ››Oracle中登陆时报ORA-28000: the account is lock...
- ››Oracle数据库在配置文件中更改最大连接数
- ››Oracle中在pl/sql developer修改表的两种方式
更多精彩
赞助商链接