Oracle11g新特性:使用PIVOT/UNPIVOT进行行列转换
MS SQL Server 2005引入的pivot/unpivot关键字,对于行列转换确实非常的方便。所以Oracle11g也引入了这两个关键字,语法和SQL Server 2005的基本上差不错。
PRODCUT QUARTER AMOUNT
---------- ---------- ----------
a 1 100
a 2 110
a 3 130
a 4 140
b 1 210
b 2 220
b 3 230
b 4 240
使用pivot转换显示:
2 pivot (sum(amount)
3 for quarter in
4 (1 as Q1,2 as Q2,3 as Q3,4 as Q4));
PRODCUT Q1 Q2 Q3 Q4
---------- ---------- ---------- ---------- ----------
a 100 110 130 140
b 210 220 230 240
在OOW上了解到的Oracle11g新特性
昨天请假去Oracle Open World 2007上海国际会议中心溜达了一圈,收获不少,除了一些带有oracle标记的小玩意儿,更开心的是见到了itpub的新朋旧友,尤其是晚上的FB,50号人共聚一堂,何其壮哉!
原来以为免费注册的展厅门票不能听技术讲座,实际上,昨天去逛了几个会场都没有限制,看来是可以随便听了,前面进的两个会场,一个是OU的一个印度小伙子,听了一会儿完全不知道说什么,后来又去听了神州数码关于Oracle中间件的一个讲座,了解了Oracle融合中间件的一些组件。最有收获的应该是Rich Niemiec的Oracle11g新特性了,可惜上午的第一场没赶上,这个讲座的PPT已经有热心的网友在itpub中贴出,有兴趣的可以去这里下载。
另外在oracle产品展示区也了解到一些11g的特性,还有印象的有:
Physical standby在可读写模式时可以同时传送日志
在10g是不可以的,关于oracle10g physical standby的读写模式,请参考我以前的一篇文章提供基于cube的查询重写
Cube是可以看做是多维度多level的一个聚合结果,基于cube的查询重写可以极大的减少mv的数量Table的read only模式
Oracle11g提供了将table至于只读模式的功能,alter table table_name read only,只读表只能被drop或者重新置于read write模式,不能执行其他DDL和DML,也不能select for update多列值的统计信息
Oracle11g之前可以对单个列收集统计信息,产生直方图,以便优化器根据数据的分布来生成更准确的执行计划。11g则可以为多个关联列收集统计信息,对于组合查询条件,为优化器提供更准确快捷的信息
统计信息的pending状态
在手机统计信息的同时可以将统计信息至于pending状态,也就是收集的统计信息暂时不影响优化器审计默认打开
Oracle11g将默认在数据库级别开启audit,也就是初始化参数audit_trial=DB,据说11g中,审计消耗的系统资源将在1~2%左右更强的密码策略和算法
提供更加强大细粒度的密码策略,并且将可以采用增强的hash密码算法分区级别的数据压缩
可以在表和分区级别分别设置是否支持数据压缩。关于Oracle11g的数据压缩功能,请参考这里。
另外,在产品演示区还看到了一个叫做SwingBench的产品,据说是Oracle UK的一个员工开发的压力测试工具,基于Java,可以以图形的方式直观的展现RAC的负载,执行标准TPCC测试等,回来Google了一下,作者叫Dominic Giles,目前最新版本是2.3,稳定版本是2.2,有兴趣的可以去他的网站(国内似乎不能上,找代理上吧-_-!)下载。
注:本文涉及的Oracle11g新特性,属于道听途说,未做验证,仅供参考。
Oracle11g新特性: Server Result Cache
注:本文已经发表于IT168(Oracle11g新特性之Server Result Cache),版权所有,未经允许,请勿转载。
对于同样的操作,如果能在多个process或者session间共享结果,对于性能优化自然是非常有帮助的。从oracle7开始提供的share pool,可以让同样的SQL可以解析一次,执行多次,有效的减少了多个session执行相同SQL语句时的硬解析,如果应用很好的使用了绑定变量,那么共享SQL对于系统整体性能的提升是不言而喻的。
那么,除了能共享SQL和执行计划,还能共享什么?直接共享SQL执行后的结果,使得相同或者部分相同的SQL语句甚至只需要执行一次,以后再次执行时就直接得到结果?没错,Oracle11g的新特性Server Result Cache就能提供这样功能。Oracle在白皮书上宣布,对于读频繁的系统,通过该特性,甚至有可能提升系统性能200%,对于大量报表的数据仓库项目来说,这个特性应该是一个不错的消息。
[继续阅读全文]
Oracle11g新特性:Advanced Compression Option
注:本文已经发表于IT168(点评Oracle11g新特性之:数据压缩技术),版权所有,未经允许,请勿转载。
随着数据量的不断海量,CPU的不断强劲,双核四核的叫个不停,一种叫做时间换空间的优化技术应该会越来越流行。所以,数据压缩对于今后的数据库来说,应该会从核武器变成常规武器。Oracle从9i开始羞羞答答的引入表级压缩,一直以来都是像中国的核电站一样,宣传的用处大,论实际的贡献就不怎么样了。
Oracle11g似乎是正儿八经的要推广数据压缩技术了,专门推出了一个叫做Advance Compression的组件,全面支持普通表压缩,非结构化数据压缩(SecureFile数据压缩),Data Pump数据压缩,以及RMAN备份压缩,数据压缩技术从此名正言顺的登上历史舞台。既然是专门做为一个Option推出,Oracle一定是对该特性相当有信心,所以需要单独为该特性购买License。
[继续阅读全文]