IBM FileNet P8, Version 5.2.1            

Maximale Indexschlüsselgröße

Bei Datenbanken gilt eine maximale Größe für Indexschlüssel, auch als zusammengesetzte Indizes bezeichnet.

Für Microsoft SQL Server:

Ein Indexschlüssel kann maximal 16 Felder enthalten.
  • Ein Warteschlangenindex kann maximal 15 Felder enthalten. Das Workflowsystem verwendet ein Feld.
  • Ein Listenindex kann maximal 16 Felder enthalten.
  • Ein Ereignisprotokollindex kann maximal 14 Benutzerfelder enthalten. Das Workflowsystem fügt jedem Index F_TimeStamp und F_SeqNumber hinzu.

Die maximale Größe eines Indexschlüssels ist 900 Byte.

Soll die Größe eines zusammengesetzten Indexschlüssels ermittelt werden, werden von Microsoft SQL Server alle festen Spalten plus die Mindestwerte aller variablen Spalten summiert, sofern der zusammengesetzte Index innerhalb der zulässigen Maximalgröße für Indizes liegt. Wenn sich jedoch bereits Daten in der Tabelle befinden und die vorhandenen Daten in einer Spalte es ermöglichen, dass die gesamten Byte des Index größer ist als die maximale Größe, kann der Index nicht erstellt werden. Auch wenn nach der Erstellung des Indexes Daten eingefügt (oder aktualisiert) werden, durch die der Maximalwert des Index die maximale Wertegröße überschreiten kann, tritt zu diesem Zeitpunkt ein Fehler auf.

Beispiel: Sie können einen aus column1 mit einer Größe von 500 Byte und aus column2 mit einer Größe von 500 Byte bestehenden Index definieren. Wenn Sie 500 Byte Daten in column1 und 500 Byte Daten in column2 einfügen, wird ein Fehler gemeldet. Wenn Sie 100 Byte Daten in column1 und 100 in column2 einfügen, tritt kein Fehler auf.

Für Oracle:

Ein Indexschlüssel kann maximal 32 Felder enthalten.
  • Ein Warteschlangenindex kann maximal 31 Felder enthalten. Das Workflowsystem verwendet ein Feld.
  • Ein Listenindex kann maximal 32 Felder enthalten.
  • Ein Ereignisprotokollindex kann maximal 30 Benutzerfelder enthalten. Das Workflowsystem fügt jedem Index F_TimeStamp und F_SeqNumber hinzu.

Die maximale Gesamtgröße eines Indexschlüssels beträgt 70 % der Blockgröße der Datenbank, abzüglich eines gewissen Aufwands.

So ermitteln Sie die Datenblockgröße der Datenbank in SQLPlus:
  1. Melden Sie sich als sysdba an.
  2. Geben Sie an der Eingabeaufforderung SQL> den Befehl show parameters db_block_size ein.

Soll die Größe eines Indexschlüssels ermittelt werden, werden vom Oracle-Server die definierten Maximalgrößen aller Felder mit variabler Länge plus die Größen aller Felder mit fester Größe summiert.

Für DB2:

Ein Indexschlüssel kann maximal 64 Felder enthalten.
  • Ein Warteschlangenindex kann maximal 63 Felder enthalten. Das Workflowsystem verwendet ein Feld.
  • Ein Listenindex kann maximal 64 Felder enthalten.
  • Ein Ereignisprotokollindex kann maximal 62 Benutzerfelder enthalten. Das Workflowsystem fügt jedem Index F_TimeStamp und F_SeqNumber hinzu.

Die maximale kombinierte Gesamtlänge eines eindeutigen Indexschlüssels ist 8192.



Letzte Aktualisierung: März 2016
bpfcg010.htm

© Copyright IBM Corp. 2016.