【owb理解笔记】利用方体来提高查询速度的本质
来源:互联网 发布:淘宝网童装购物街 编辑:程序博客网 时间:2024/05/20 11:31
定义方体时,对方体里的某一度量(对应的所有记录值),按该方体所引用的某一维的上那个被引用的级别,来进行预计算(pre- ),并将对该度量进行预计算的结果存储下来。这是利用方体(结合维,维可以使得在该方体所引用的某一维的上那个被引用的级别上预计算的结果,可以通过级别间的关系,推演出在高一级别上按照该预计算方法得出的该方体里的该度量的计算结果)来提高查询速度的本质。
注释:预计算就是sum或者aver等聚合函数。
以空间换时间
方体a里的一个度量为销售数量(amount),引用time维的month级别
在time维的month级别上,对 销售数量(amount) 的预计算为sum()。
这样,就将计算结果存储下来。
于是下面SQL语句就不用通过先访问表在计算 sum(f.amount)来得出结果,而是直接将获取上面存储下来的计算结果即可:
select t.t_month, sum(f.amount) from time_dim t,fact_sales f where t.time_id=f.time_id group by t.t_month;
对下面一句话的说明解释:
维可以使得在该方体所引用的某一维的上那个被引用的级别上预计算的结果,可以通过级别间的关系,推演出在高一级别上按照该预计算方法得出的该方体里的该度量的计算结果。
例如,
在time维中,t_quarter是t_month的上一级别。而第一季度,包括1、2、3三个月,以此类推。所以,下面SQL语句也就不用通过先访问表在计算 sum(f.amount)来得出结果,而是间接将获取上面存储下来的计算结果,再通过t_quarter和t_month间的关系(如第一季度,包括1、2、3三个月)来计算得出:
select t.t_quarter, sum(f.amount1),sum(f.amount2)2 from time_dim t,fact_sales f3 where t.time_id=f.time_id4 group by t.t_quarter;比如,第一季度,包括1、2、3三个月。
1月的sum(f.amount)=5
2月的sum(f.amount)=10
3月的sum(f.amount)=2
则第一季度的sum(f.amount)=5+10+2;
0 0
- 【owb理解笔记】利用方体来提高查询速度的本质
- 索引深入理解索引提高查询速度的原因
- 利用sql索引提高查询速度
- 利用SQL索引提高查询速度
- 利用SQL索引提高查询速度
- 利用SQL索引提高查询速度
- 利用SQL索引提高查询速度
- 利用SQL索引提高查询速度
- 利用SQL索引提高查询速度
- 利用SQL索引提高查询速度
- 提高查询速度的方法
- 提高查询速度的方法
- 提高查询速度的方法
- 提高查询速度的方法
- Oracle数据库中利用索引表提高查询速度
- 提高ORACLE数据库的查询统计速度
- 提高ORACLE数据库的查询统计速度
- 提高数据库查询速度的方法
- eclipse-快捷键II
- 内存分配 知识,全局,局部,静态变量
- 中小型企业怎么降低物流供应链成本?
- JQuery中的滑动显示和隐藏
- 如何保持旺盛的精力
- 【owb理解笔记】利用方体来提高查询速度的本质
- 使用python调用新浪微博API的小经历
- 素数求和问题
- 学一门专业而以后又没有靠它讨生活
- nutch 1.7 导入 eclipse 其他版本亦可参考。
- Algorithm学习笔记 --- 编写程序怎么让cpu的使用率为50%(编程之美)
- adb 相关命令
- Mule ESB 学习笔记(1)
- Flash Platform的性能优化——节省内存