SQL-Begrenzungen
Die folgenden Tabellen beschreiben bestimmte SQL- und Datenbankbeschränkungen, die vom Db2 for i-Datenbankmanager auferlegt werden.
Hinweis:
- Systemspeichergrenzwerte können die hier angegebenen Grenzwerte ausschließen. Beispiel: Siehe Maximale Zeilengrößen.
- Ein Grenzwert von Speicher bedeutet, dass der Grenzwert von der verfügbaren Speicherkapazität abhängt.
- Ein Grenzwert von anweisung bedeutet, dass der Grenzwert von dem Grenzwert für die maximale Länge einer Anweisung abhängig ist.
| Kennungsbegrenzungen | Db2 for i Grenzwert |
|---|---|
| Längste Berechtigungsname | 101 |
| Längste Korrelationsname | 128 |
| Längste Cursorname | 128 |
| Längste Deskriptorname | 128 |
| Längste externe Programmname (Zeichenfolgeform) | 2792 |
| Längste externe Programmname (nicht qualifizierte Form) | 10 |
| Längste Host-ID3 | 128 |
| Längste Paketversions-ID | 64 |
| Längster Partitionsname | 10 |
| Name des längsten Sicherungspunkts | 128 |
| Längste Schemaname | 128 |
| Längster Servername | 18 |
| Längster Anweisungsname | 128 |
| Name der längsten SQL-Bedingung | 128 |
| Längste SQL-Bezeichnung | 128 |
| Längster nicht qualifizierter Aliasname | 128 |
| Längste nicht qualifizierte Spalte | 128 |
| Längste nicht qualifizierte Integritätsbedingung | 128 |
| Längste nicht qualifizierte eindeutige Typname | 128 |
| Längster nicht qualifizierter Funktionsname | 128 |
| Name der längsten nicht qualifizierten globalen Variablen | 128 |
| Längster nicht qualifizierter Indexname | 128 |
| Längste nicht qualifizierte Maske | 128 |
| Längste nicht qualifizierte Knotengruppe | 10 |
| Längster nicht qualifizierter Paketname | 10 |
| Längster nicht qualifizierter Berechtigungsname | 128 |
| Längster nicht qualifizierter Prozedurname | 128 |
| Längster nicht qualifizierter Sequenzname | 128 |
| Längster nicht qualifizierter spezifischer Name | 128 |
| Längste nicht qualifizierte SQL-Parametername | 128 |
| Längster nicht qualifizierter SQL-Variablenname | 128 |
| Längster nicht qualifizierter Systemspaltenname | 10 |
| Längster nicht qualifizierter Systemobjektname | 10 |
| Längste nicht qualifizierte Systemschemaname | 10 |
| Längste nicht qualifizierte Tabelle und längste Sicht | 128 |
| Längster nicht qualifizierter Triggername | 128 |
| Längster nicht qualifizierter XSR-Objektname | 128 |
| Längster XML-Elementname, Attributname, Präfixname oder Verarbeitungsanweisungsname, angegeben in XMLELEMENT, XMLFOREST, XMLATTRIBUTES, XMLNAMESPACES oder XMLPI | 128 |
| In XMLTABLE angegebener längste XML-Pfadname | 128 |
| Längster XML-Elementname, Attributname, Präfixname oder Verarbeitungsanweisungsname für ein syntaktisch analysiertes XML-Dokument | 1.000 |
| Längste URI (Uniform Resource Identifier) für Position des XML-Schemas | 1.000 |
| Längster JSON-Pfadname | 128 |
| Numerische Grenzen | Db2 for i Grenzwert |
|---|---|
| Niedrigster SMALLINT-Wert | -32.768 |
| Höchster SMALLINT-Wert | +32.767 |
| Niedrigster INTEGER-Wert | -2.147.483.648 |
| Höchster INTEGER-Wert | +2.147.483.647 |
| Niedrigster BIGINT-Wert | -9.223.372.036.854.775.808 |
| Höchster BIGINT-Wert | +9.223.372.036.854.775.807 |
| Größte Dezimalgenauigkeit | 63 |
| Maximaler Exponent (Emax) für REAL-Werte | 38 |
| Kleinster REAL-Wert4 | -3,4 x 1038 |
| Größter REAL-Wert4 | + 3,4 x 1038 |
| Minimaler Exponent (Emin) für REAL-Werte | -38 |
| Kleinster positiver REAL-Wert4 | + 1,18x10-38 |
| Größter negativer REAL-Wert4 | -1,18x10-38 |
| Maximaler Exponent (Emax) für DOUBLE-Werte | 308 |
| Kleinster DOUBLE-Wert4 | -1,79x10308 |
| Größter DOUBLE-Wert4 | + 1,79x10308 |
| Minimaler Exponent (Emin) für DOUBLE-Werte | -308 |
| Kleinster positiver DOUBLE-Wert4 | + 2,23x10-308 |
| Größter negativer DOUBLE-Wert4 | -2,23x10-308 |
| Maximaler Exponent (Emax) für DECFLOAT(16)-Werte | 384 |
| Kleinster DECFLOAT (16) -Wert5 | -9,999999999999999x10384 |
| Größter Wert für DECFLOAT (16)5 | 9,999999999999999x10384 |
| Minimaler Exponent (Emin) für DECFLOAT(16)-Werte | -383 |
| Kleinster positiver Wert DECFLOAT (16)5 | 1 x 10-383 |
| Größter negativer Wert für DECFLOAT (16)5 | - 1x10-383 |
| Maximaler Exponent (Emax) für DECFLOAT(34)-Werte | 6144 |
| Kleinster Wert für DECFLOAT (34)5 | -9,999999999999999999999999999999999x106144 |
| Größter DECFLOAT (34) -Wert5 | 9,999999999999999999999999999999999x106144 |
| Minimaler Exponent (Emin) für DECFLOAT(34)-Werte | -6143 |
| Kleinster positiver DECFLOAT (34) -Wert5 | 1x10-6143 |
| Größter negativer Wert für DECFLOAT (34)5 | - 1x10-6143 |
| Zeichenfolgebegrenzungen | Db2 for i Grenzwert |
|---|---|
| Maximale Länge von CHAR (in Byte) | 327656 |
| Maximale Länge von VARCHAR (in Byte) | 327396 |
| Maximale Länge von CLOB (in Byte) | 2 147 483 647 |
| Maximale Länge von GRAPHIC (in Doppelbytezeichen) | 163826 |
| Maximale Länge von VARGRAPHIC (in Doppelbytezeichen) | 163696 |
| Maximale Länge von DBCLOB (in Doppelbytezeichen) | 1 073 741 823 |
| Maximale Länge von BINARY (in Byte) | 327656 |
| Maximale Länge von VARBINARY (in Byte) | 327396 |
| Maximale Länge von BLOB (in Byte) | 2 147 483 647 |
| Maximale Länge von serialisierter XML (in Byte) | 2 147 483 647 |
| Maximale Länge der Zeichenkonstanten | 32740 |
| Maximale Länge einer Grafikkonstante | 16370 |
| Maximale Länge der Binärkonstanten | 32740 |
| Maximale Länge der verknüpften Zeichenfolge | 2 147 483 647 |
| Maximale Länge der verknüpften Grafikzeichenfolge | 1 073 741 823 |
| Maximale Länge der verknüpften Binärzeichenfolge | 2 147 483 647 |
| Maximale Anzahl von Hexadezimalkonstantenziffern | 32 762 |
| Maximale Länge von Katalogkommentaren | 20007 |
| Maximale Länge der Spaltenbeschriftung (in Byte) | 60 |
| Maximale Länge des SQL-Routinenkennsatzes | 128 |
| Maximale Länge der Tabelle, des Pakets oder der Aliasbezeichnung | 50 |
| Maximale Länge von C NUL-terminiert | 327396 |
| Maximale Länge der C NUL-terminierten Grafik | 163696 |
| XML-Begrenzungen | Db2 for i Grenzwert |
|---|---|
| Maximale Länge eines XML-Schemadokuments (in Byte) | 2 147 483 647 |
| Maximale Länge einer geparsten XML-Entität | 1 Gigabyte |
| Maximale Tiefe einer internen XML-Baumstruktur | 128 |
| JSON-Grenzwerte | Db2 for i Grenzwert |
|---|---|
| Maximale Länge eines JSON-Dokuments (in Byte) | 2 147 483 647 |
| Begrenzungen für Datums- und Uhrzeitangaben | Db2 for i Grenzwert |
|---|---|
| Niedrigster DATE-Wert | 0001-01-01 |
| Höchster DATE-Wert | 9999-12-31 |
| Niedrigster TIME-Wert | 00:00:00 |
| Höchster TIME-Wert | 24:00:00 |
| Niedrigster TIMESTAMP-Wert | 0001-01-01-00.00.00.000000000000 |
| Höchster TIMESTAMP-Wert | 9999-12-31-24.00.00.000000000000 |
| Kleinste Zeitmarkengenauigkeit | 0 |
| Größte Zeitmarkengenauigkeit | 12 |
| Datalink Grenzwerte | Db2 for i Grenzwert |
|---|---|
| Maximale Länge von DATALINK | 32718 |
| Maximale Länge des DATALINK-Kommentars | 254 |
| Begrenzungen des Datenbankmanagers | Db2 for i Grenzwert |
|---|---|
| Relationale Datenbank | |
| Maximale Anzahl Schemas | Speicher |
| Maximale Anzahl Tabellen in einer relationalen Datenbank | Speicher |
| Maximale Anzahl Knoten in einer Knotengruppe | 32 |
| Schemata | |
| Maximale Anzahl Objekte in einem Schema | ungefähr 1 000 000 |
| Tabellen und Sichten | |
| Maximale Anzahl von Spalten in einer Tabelle | 8 |
| Maximale Anzahl Spalten in einer Ansicht | 8 |
| Maximale Länge einer Zeile ohne LOBs einschließlich des gesamten Systemaufwands | 32766 |
| Maximale Länge einer Zeile mit LOBs einschließlich des gesamten Systemaufwands | 3 758 096 383 |
| Maximale Anzahl Zeilen in einer nicht partitionierten Tabelle | 4 294 967 288 |
| Maximale Anzahl Zeilen in einer Datenpartition | 4 294 967 288 |
| Maximale Größe einer nicht partitionierten Tabelle | 1.7 Terabyte |
| Maximale Größe einer Datenpartition | 1.7 Terabyte |
| Maximale Anzahl Datenpartitionen in einer einzelnen partitionierten Tabelle | 256 |
| Maximale Anzahl von Tabellenpartitionierungsspalten | 120 |
| Maximale Anzahl Tabellen, auf die in einer Sicht oder einer MQT verwiesen wird | 10008 |
| Maximale Anzahl abhängiger Sichten, MQTs (Materialized Query Tables) und Indizes für eine Tabelle oder Sicht. | Speicher |
| Integritätsbedingungen | |
| Max. Anzahl Integritätsbedingungen für eine Tabelle | 5.000 |
| Maximale Anzahl Spalten in einer UNIQUE-Integritätsbedingung | 120 |
| Maximale kombinierte Länge von Spalten in einer Integritätsbedingung UNIQUE (in Byte) | 327676 |
| Maximale Anzahl von verweisenden Spalten in einem Fremdschlüssel | 120 |
| Maximale kombinierte Länge von Referenzspalten in einem Fremdschlüssel (in Byte) | 327676 |
| Maximale Länge einer CHECK-Integritätsbedingung (in Byte) | Anweisung |
| Auslöser | |
| Maximale Anzahl Auslöser für eine Tabelle | 300 |
| Maximale Laufzeitverschachtelungstiefe von hintereinandergeschalteten Triggern | 200 |
| Indizes | |
| Maximale Anzahl von Indizes für eine Tabelle | ungefähr 15000 |
| Maximale Anzahl Spalten in einem Indexschlüssel | 120 |
| Maximale Länge eines Indexschlüssels | 327676 |
| Maximale Größe eines nicht partitionierten Index | 16 Terabyte![]() |
| Maximale Größe einer Partition eines partitionierten Index | 16 Terabyte![]() |
| SQL | |
| Maximale Länge einer SQL-Anweisung (in Byte) | 2 097 152 |
| Maximale Anzahl Tabellen, auf die in einer SQL-Anweisung verwiesen wird | 10008 |
| Maximale Anzahl von Variablen und Konstanten in einer SQL-Anweisung | 327009 |
| Maximale Anzahl von Elementen in einer SELECT-Liste | ungefähr 800010 |
| Maximale Anzahl von Vergleichselementen in einer Klausel WHERE oder HAVING | Anweisung |
| Maximale Anzahl von Spalten in einer Klausel GROUP BY | Gesamtlänge von GROUP BY |
| Maximale Gesamtlänge von Spalten in einer GROUP BY-Klausel | 3.5 Gigabyte11 |
| Maximale Anzahl von Elementen in einer CUBE-Gruppierung | 10 |
| Maximale Anzahl von Spalten in einer Klausel ORDER BY | Gesamtlänge von ORDER BY |
| Maximale Gesamtlänge von Spalten in einer ORDER BY-Klausel | 3.5 Gigabyte 11 |
| Maximale Rekursionsebenen für hierarchische Abfragen | 250 |
| Maximal zulässige Ebenen für eine Unterabfrage | 256 |
| Maximale Anzahl von Werten für eine Zeile bei einem Einfügevorgang | 8 |
| Maximale Anzahl von SET-Klauseln in einer einzigen Aktualisierungsoperation | 8 |
| Routinen | |
| Maximale Anzahl Parameter in einer Prozedur | 200012 |
| Maximale Anzahl Parameter in einer Funktion | 200012 |
| Maximale Anzahl Rückgabespalten in einer Tabellenfunktion | 8 |
| Maximale Anzahl von Verschachtelungsebenen für Routinen | Speicher |
| Arten | |
| Maximale Kardinalität eines Array-Typs | 2 147 483 647 |
| Anwendungen | |
| Maximale Anzahl Hostvariablendeklarationen in einem vorkompilierten Programm | Speicher13 |
| Maximale Länge eines Hostvariablenwerts (in Byte) | 2 147 483 647 |
| Maximale Länge eines CLOB-Werts für MQ -Nachrichten (in Byte) | 2M |
| Maximale Länge eines MQ -Nachrichtenwerts variabler Länge (in Byte) | 32000 |
| Maximale Anzahl deklarierter Cursor in einem Programm | Speicher |
| Maximale Anzahl von Cursorn, die zu einem bestimmten Zeitpunkt geöffnet wurden | Speicher 14 |
| Maximale Anzahl gesperrter Zeilen in einer Arbeitseinheit | 500 000 000 |
| Maximale Anzahl DDL-Anweisungen in einer Arbeitseinheit | 131 036 |
| Maximale Anzahl Locator in einer Transaktion | 16.000 000 15 |
| Maximale Größe eines SQL-Deskriptorbereichs (in Byte) | 16 777 215 |
| Maximale Anzahl vorbereiteter Anweisungen | Speicher |
| Maximale Anzahl gleichzeitig aktiver Sicherungspunkte | Speicher |
| Maximale Anzahl gleichzeitig zugeordneter CLI-Handles in einem Prozess | 160 000 16 |
| Maximale Größe eines Pakets | 1008 Megabyte17 |
| Maximale Länge eines Pfads | 8843 |
| Maximale Anzahl von Schemata in einem Pfad | 268 |
| Maximale Länge eines Kennworts | 127 |
| Maximale Länge eines Hinweises | 32 |
| Maximale Größe eines Programms, eines Serviceprogramms oder eines dem Modul zugeordneten Speicherbereichs (in Byte) | 16 777 216 |
| Maximale Größe des Diagnosebereichs | 90K |
| Maximale Größe einer Array-Variablen | 4GB |
1 Db2 for i kann als Anwendungsrequester einen Berechtigungsnamen von bis zu 255 Byte senden.
2 Für REXX-Prozeduren ist der Grenzwert 33.
3 Für ein RPG-, COBOL - oder REXX-Programm liegt die Grenze bei 64.
4 Die angezeigten Werte sind Näherungswerte.
5 Dies sind die Grenzwerte für normale Zahlen in DECFLOAT. DECFLOAT enthält auch Sonderwerte wie NaN und Infinity, die ebenfalls gültig sind. DECFLOAT unterstützt auch subnormale Zahlen, die außerhalb des dokumentierten Bereichs liegen.
6 Wenn die Spalte NOT NULL ist, ist das Maximum ein weiteres.
7 Für Sequenzen ist der Grenzwert 500.
8 Die maximale Anzahl der Member (und Partitionen), auf die verwiesen wird, beträgt ebenfalls 1000. In DELETE-und UPDATE-Anweisungen beträgt die maximale Anzahl 256. In einer komplexen SQL-Anweisung kann die Anzahl der Tabellen, auf die verwiesen werden kann, durch interne Strukturen begrenzt werden.
9 Der Grenzwert ist durch interne Strukturen beschränkt und kann weniger davon abhängen, wie die Konstanten in der Anweisung verwendet werden und ob sehr große Zeichenfolgekonstanten oder Variablen verwendet werden.
10 Die Begrenzung basiert auf der Größe der internen Strukturen, die für die analysierte SQL-Anweisung generiert wurden.
11 Der Grenzwert ist 32766, wenn CQE die Anweisung SELECT verarbeitet hat. Der Grenzwert ist geringer, wenn eine ICU-Sortierfolge oder ALWCPYDTA (*NO) verwendet wird.
12 SQL-Prozeduren und SQL-Funktionen können bis zu 2000 Parameter haben. Die Anzahl der Parameter für externe Prozeduren und externe Funktionen darf 2000 nicht überschreiten und wird durch die maximale Anzahl der in der Sprache zulässigen Parameter begrenzt.
13 In den Programmen RPG/400® und PL/I liegt die Grenze bei etwa 4000, wenn die alte Technik der Parameterübergabe verwendet wird. Der Grenzwert basiert auf der Anzahl der im Programm zulässigen Zeiger. In allen anderen Fällen basiert der Grenzwert auf Betriebssystemeinschränkungen.
14 Die maximale Anzahl Cursor, die gleichzeitig in einem einzelnen Job geöffnet sind, beträgt ungefähr 20 966.
15 Die maximale Anzahl von Locators in einer Transaktion im Modus SQL Server ist 209.000.
16 Die maximale Anzahl zugeordneter Kennungen pro DRDA-Verbindung beträgt 500.
17 Die maximale Größe eines DRDA-Pakets kann mithilfe der Option QAQQINI von 500 Megabyte auf 1 Gigabyte erhöht werden.
16 Terabyte