转载oracle rollup和cube函数使用心得
转自:http://blog.csdn.net/wangdongzjk/archive/2005/11/18/532424.aspx
事关CUBE ROLLUP GROUPING SETS(1)
原文引自:
聚合是数据仓库的基础。为了提高聚合的性能。Oracle提供了Group By 条款的扩展。
1. CUBE, ROLLUP扩展
2. 3个grouping函数
3. Grouping set扩展
CUBE ROLLUP GROUPING SETS对SQL的扩展使得查询和报告都变得简单和迅速。Rollup计算诸如sum count max min avg的函数,增加了聚合的级别.CUBE是一个类似ROLLUP的扩展,使得可以用一个语句计算所有可能的聚合。CUBE可以通过单条生成Cross-tabulation(交叉报表)报告的信息。CUBE,ROLLUP,GROUPING SETS扩展令你可以精确的对你感兴趣的group by 条款进行grouping。不运行cube操作也可以高效的从多个维度进行分析。计算一个full cube将会带来很高的负载,所以将cube替换为grouping sets可以明显地提高性能。CUBE ROLLUP GROUPING SETS可以生成单个结果集,等效于UNION ALL。为了提高性能,CUBE, ROLLUP, and GROUPING SETS可以并行进行:多进程同时运算所有的语句。这种功能使得聚合计算更加高效,因此提高了数据库性能和可测性。
Analyzing Across Multiple Dimensions
多维分析
在DSS系统中一个很重要的概念是多维分析:
从多个角度对企业的状况进行查勘。Demension,众多的维一般是时间,空间,产品,部门,渠道,企业的维度多种多样。事件和实体关联特定的维度就是所谓的facts.这些所谓的facts可以是销售,现金,利润,客户账户,或是其他一些值得记录的东东。
下面是一些多维需求的例子
1. 展示1999和2000年,所有产品的总销量,聚合级别为地域维度,从州到国家到地区。
2. 创建交叉报表分析1999和2000年南美洲范围的费用,包括所有的小记
所有的需求都包含了多维。很多多维的问题需要数据的聚合,数据集的比较,通常跨越时间,地域。
Optimized Performance
不仅仅是多维的问题,还有所有类型的处理可以从增强聚合功能中得到好处。事务的处理,金融制造系统-所有的这些都产生大量的生产报告需要大量的系统资源。创建这些报告减少系统负载,提升了系�
相关文档:
语法:
select *
from 表名
where 条件1
start with 条件2
connect by prior 当前表字段=级联表字段
start with与connect by prior语句完成递归记录,形成一棵树形结构,通常可以在具有层次结构的表中使用。
start with表示开始的记录
connect by prior 指定与当前记录关联时的字段关系
代码:
--创建部门� ......
今天安装软件一直在测试链接不能通过,出现ORA-12154: TNS: could not resolve service name,后来才发现是tnsnames.ora中有误。查找网上的资料,记录下来。
要排除客户端与服务器端的连接问题,首先检查客户端配置是否正确(客户端配置必须与数据库服务器端监听配置一致),再根据错误提示解决。下面列出几种常见的连接问题 ......
alter system set nls_length_semantics='BYTE' scope=both
sql>show parameter length
NAME TYPE
------------------------------------ --------------------- ......
1、目的:
Oracle系统中的profile可以用以对用户所能施用的数据库资源进展限制,运用Create Profile下令创办一个Profile,用它来兑现对数据库资源的限制运用,如果把该profile分配给用户,则该用户所能施用的数据库资源都在该profile的限制以内。
2、条件:
创设profile务必要有CREATE PROFILE的系� ......
如果你接触过mysql的话一定对mysql的text和blob不会陌生,在mysql中是直接操作text和blob的。但是在oracle中,它把lob做为一种特殊的字段,不能直接进行操作--比如不能直接插入到lob字段中,也不能用like查询等等。
这里是我保存的一篇这方面的文章,原文搬过来,由于保存的时候只是取了一部分� ......