这里就有一些:局部类型此功能允许PL/SQL和SQLPL块在BEGIN…END块中定义局部类型变量。之前碰到声明这种类型时" />
class='fit-image' onload='javascript:if(this.width>498)this.width=498;' onmousewheel = 'javascript:return big(this)' border="1" alt="DB2 10新功能:从Oracle迁移更容易" src="http://images.51cto.com/files/uploadimg/20120613/1401450.png" />
这里就有一些:
局部类型
此功能允许PL/SQL和SQL PL块在BEGIN…END块中定义局部类型变量。之前碰到声明这种类型时,你需要将其转化为全局类型或PL/SQl包。
现在下面的PL/SQL可以在DB2中进行。
局部程序
- DECLARE
- TYPE point IS RECORD(x NUMBER, y NUMBER);
- here point;
- BEGIN
- here := (5, 3);
- END;
- /
此功能类似于局部类型允许你在BEGIN…END块中声明程序。程序反过来可以声明局部程序、在他们声明的块内引用变量和局部类型。与DB2 9.7中的局部类型相似,当一个应用使用此功能时,你需要移动局部声明的程序到一个包中或者使他们成为全局类型。
现在下面的PL/SQL可以在DB2中进行。
PL/SQL Expression Inlining
- DECLARE
- TYPE point IS RECORD(x NUMBER, y NUMBER);
- PROCEDURE makepoint(x IN NUMBER, y IN NUMBER, xy OUT point)
- IS
- BEGIN
- xy := (x, y);
- END;
- here point;
- BEGIN
- makepoint(5, 3, here);
- END;
- /
DB2 9.7是快速的。DB2 10甚至更快!
客户和业务伙伴经常会报告说,Oracle应用程序启用DB2达到或超过源系统的性能。但已经出现重程序逻辑、很少或没有SQL的功能还没有达到这一目标的情况。
原因是DB2 9.7执行大部分数学或字符串表达式的简单的SQL语句。
DB2 10压缩大部分算法、布尔逻辑和字符串操作为单一的轻处理单元。这大大提高了性能。
一个商业伙伴会说,从DB2 9.7切换到DB2 10提供了多个特定的PL/SQL例程的改进。这反过来加速了一个通过与源系统相比超越20%以上的性能目标的关键过程。
请等待,还有更多!
有许多其他的功能,而不是在进一步提高应用程序兼容性从而使DB2成为一个好的选择
支持hash连接条件的表达式
Zig zag join
行和列的访问控制(RCAC)
归并pureScale DB2 10
By the numbers
自DB2 9.7以来,DB2和真正的Oracle应用的兼容性一直稳步上升。到目前为止,DB2似乎打破了98%的PL/SQL代码命令行。当某个应用从Oracle迁移到DB2 10时,这些命令行一般保持不变。