DB2 10新功能:從Oracle遷移更容易
這里就有一些:
局部類型
此功能允許PL/SQL和SQL PL塊在BEGIN…END塊中定義局部類型變量。之前碰到聲明這種類型時,你需要將其轉(zhuǎn)化為全局類型或PL/SQl包。
現(xiàn)在下面的PL/SQL可以在DB2中進行。
- DECLARE
- TYPE point IS RECORD(x NUMBER, y NUMBER);
- here point;
- BEGIN
- here := (5, 3);
- END;
- /
此功能類似于局部類型允許你在BEGIN…END塊中聲明程序。程序反過來可以聲明局部程序、在他們聲明的塊內(nèi)引用變量和局部類型。與DB2 9.7中的局部類型相似,當一個應(yīng)用使用此功能時,你需要移動局部聲明的程序到一個包中或者使他們成為全局類型。
現(xiàn)在下面的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;
- /
DB2 9.7是快速的。DB2 10甚至更快!
客戶和業(yè)務(wù)伙伴經(jīng)常會報告說,Oracle應(yīng)用程序啟用DB2達到或超過源系統(tǒng)的性能。但已經(jīng)出現(xiàn)重程序邏輯、很少或沒有SQL的功能還沒有達到這一目標的情況。
原因是DB2 9.7執(zhí)行大部分數(shù)學(xué)或字符串表達式的簡單的SQL語句。
DB2 10壓縮大部分算法、布爾邏輯和字符串操作為單一的輕處理單元。這大大提高了性能。
一個商業(yè)伙伴會說,從DB2 9.7切換到DB2 10提供了多個特定的PL/SQL例程的改進。這反過來加速了一個通過與源系統(tǒng)相比超越20%以上的性能目標的關(guān)鍵過程。
請等待,還有更多!
有許多其他的功能,而不是在進一步提高應(yīng)用程序兼容性從而使DB2成為一個好的選擇
支持hash連接條件的表達式
Zig zag join
行和列的訪問控制(RCAC)
歸并pureScale DB2 10
By the numbers
自DB2 9.7以來,DB2和真正的Oracle應(yīng)用的兼容性一直穩(wěn)步上升。到目前為止,DB2似乎打破了98%的PL/SQL代碼命令行。當某個應(yīng)用從Oracle遷移到DB2 10時,這些命令行一般保持不變。
【編輯推薦】
- 讓數(shù)據(jù)庫變快的10個建議
- 20個數(shù)據(jù)庫設(shè)計***實踐
- 用 DB2 pureXML 管理 Protein Data Bank
- 任重道遠遷移路之DB2到Oracle
- 任重道遠遷移路之Oracle到DB2