您的位置:首页 > 数据库 > Oracle

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快很多。只是听说,实际验证可能数据量比较小,没有明显差异
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: