oracle编程入门笔记2015-01-30--model子句性能
2015-01-30 14:10
435 查看
model子句也有自己的性能问题。model子句的关键性能问题是出现在rules中的各种规则的求解。根据rules的复杂度,执行顺序,多个规则的依赖关系。model子句会产生不同的执行计划,而这些执行计划就是model子句调优的关键。
概述:
model子句执行计划有如下五种,cyclic,acyclic,ordered以及acyclic fast和ordered fast。
没有绝对的优劣但是如果在同样的业务场景下ordered fast 优于ordered;acyclic fast 优于acyclic优于cyclic
使用rules automatic order子句就会产生cyclic,acyclic或者acyclic order执行计划。例子是偷来的。
rule中存在不明确的执行顺序就会产生cyclic执行计划意味着在实际执行中可能存在循环。
由于rule中没有指定year和week的计算顺序,所以可能存在循环依赖,从而选择了cyclic
明确通过order by 指定了计算顺序,就会选择acyclic。
如果规则仅仅对访问某一个单元格,规则简单就会使用acyclic fast。
rules还有一个执行顺序选项是sequential order。这个是某人的rules执行顺序,如果选择这个就要安排好多个rule的先后顺序。使用这个选项就会产生ordered或者ordered fast执行计划。
规则教复杂就会选用ordered
如果是针对单行的计算就是ordered fast,这个例子没有偷到,自己造了一个
据说在表比较大的时候使用model子句做一些计算会比传统sql快很多。只是听说,实际验证可能数据量比较小,没有明显差异
概述:
model子句执行计划有如下五种,cyclic,acyclic,ordered以及acyclic fast和ordered fast。
没有绝对的优劣但是如果在同样的业务场景下ordered fast 优于ordered;acyclic fast 优于acyclic优于cyclic
使用rules automatic order子句就会产生cyclic,acyclic或者acyclic order执行计划。例子是偷来的。
rule中存在不明确的执行顺序就会产生cyclic执行计划意味着在实际执行中可能存在循环。
由于rule中没有指定year和week的计算顺序,所以可能存在循环依赖,从而选择了cyclic
明确通过order by 指定了计算顺序,就会选择acyclic。
如果规则仅仅对访问某一个单元格,规则简单就会使用acyclic fast。
rules还有一个执行顺序选项是sequential order。这个是某人的rules执行顺序,如果选择这个就要安排好多个rule的先后顺序。使用这个选项就会产生ordered或者ordered fast执行计划。
规则教复杂就会选用ordered
如果是针对单行的计算就是ordered fast,这个例子没有偷到,自己造了一个
据说在表比较大的时候使用model子句做一些计算会比传统sql快很多。只是听说,实际验证可能数据量比较小,没有明显差异
相关文章推荐
- oracle编程入门笔记2015-01-28--model子句原理
- oracle编程入门笔记2015-01-27--分析函数性能
- oracle model子句学习笔记
- Oracle性能优化学习笔记之WHERE子句中的连接顺序
- oracle编程入门笔记2015-01-18--常用oracle查询语句
- oracle编程入门笔记2015-01-26--分析函数使用举例
- oracle编程入门笔记2015-01-19--四种表连接
- oracle model子句学习笔记例 解析
- ORACLE MODEL子句学习笔记
- oracle编程入门笔记2015-01-17--一个例子告诉你共享池和数据缓存对效率的影响
- oracle编程入门笔记2015-01-19--index fast full scan
- oracle编程入门笔记2015-01-25--浅说cube
- oracle编程入门笔记2015-01-06--sqlplus
- oracle编程入门笔记2015-01-14--查询转换
- ORACLE MODEL子句学习笔记
- Oracle性能优化学习笔记之WHERE子句中的连接顺序
- oracle编程入门笔记2015-01-08--查询
- oracle编程入门笔记2015-01-09--插入
- oracle编程入门笔记2015-01-22--解释计划
- oracle编程入门笔记2015-01-19--表连接