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