DB2 - Problembeschreibung
Problem IT08538 | Status: Geschlossen |
Memory & performance impact when differing length values repeate dly assigned to same slot of array of variable length datatype | |
Produkt: | |
DB2 FOR LUW / DB2FORLUW / A10 - DB2 | |
Problembeschreibung: | |
When using array of variable length data type in a SQL Stored Procedure and assigning different length element to the same slot many times you may see memory consumption grow and performance worsen. This can happen with both local variables and with global variables, but is more common with global variables. Here is some sample code that can be used to demonstrate the problem create package M1 as TYPE GCHAR IS TABLE OF VARCHAR2(30) INDEX BY VARCHAR2(30); G_CHAR GCHAR; end; create procedure P1(X in number) as i number; begin FOR I IN 1..X LOOP M1.G_CHAR('1') := NULL; M1.G_CHAR('2') := NULL; M1.G_CHAR('3') := NULL; M1.G_CHAR('4') := NULL; M1.G_CHAR('1') := cast(i as varchar2(30)); END LOOP; end; If you then call this sample procedure call P1(3000); declare V varchar2(30); begin V := M1.G_CHAR('1'); dbms_output.put_line(V); end; call P1(3000); The second call will be significantly slower. | |
Problem-Zusammenfassung: | |
**************************************************************** * USERS AFFECTED: * * All users of array of variable length datatype * **************************************************************** * PROBLEM DESCRIPTION: * * See Error Description * **************************************************************** * RECOMMENDATION: * * Upgrade to DB2 10.1 FP5 or higher. * **************************************************************** | |
Local-Fix: | |
Lösung | |
Problem first fixed in DB2 10.1 FP5 | |
Workaround | |
keiner bekannt / siehe Local-Fix | |
Weitere Daten | |
Datum - Problem gemeldet : Datum - Problem geschlossen : Datum - der letzten Änderung: | 24.04.2015 16.07.2015 16.07.2015 |
Problem behoben ab folgender Versionen (IBM BugInfos) | |
Problem behoben lt. FixList in der Version | |
10.1.0.5 |