技术开发 频道

DB2 10新功能:从Oracle迁移更容易

        【IT168 专稿】从DB2 9.7开始,DB2 LUW团队就一直忙于降低Oracle应用的成本。每个从DB2 9.7升级到9.7.5的补丁包中都包含逐步提高允许用户摆脱Oracle限制的兼容性水平的功能。

DB2 10新功能:从Oracle迁移更容易

  这里就有一些:

  局部类型

  此功能允许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中进行。

  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;

  
/
${PageNumber}

  PL/SQL Expression Inlining

  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时,这些命令行一般保持不变。

  原文作者:DB2 LUW(DB2开放平台)的SQL架构师 瑞赛奇(Serge Rielau)

  原文地址:http://blog.chinaunix.net/uid/27006543.html

0
相关文章