PythonQ 240-8XX Instrukcja Użytkownika Strona 539

  • Pobierz
  • Dodaj do moich podręczników
  • Drukuj
  • Strona
    / 768
  • Spis treści
  • BOOKMARKI
  • Oceniono. / 5. Na podstawie oceny klientów
Przeglądanie stron 538
518 MySQL - Technische Referenz f¨ur Version 5.0.1-alpha
In gewisser Hinsicht kommt InnoDB durch den anpassungsf¨ahigen Hash-Index-
Mechanismus (wobei sich InnoDB ¨uppig verf¨ugbarem Hauptspeicher anpasst) der
Architektur von Hauptspeicher-Datenbanken nahe.
8.5.11.4 Physikalische Datensatzstruktur
Jeder Index-Datensatz in InnoDB enth¨alt einen Header von 6 Bytes. Der Header
wird benutzt, um nachfolgende Datens¨atze zu verkn¨upfen, sowie beim Sperren auf
Zeilenebene.
Datens¨atze im Cluster-Index enthalten Felder f¨ur alle benutzerdefinierten Spalten.
Zus¨atzlich gibt es ein 6 Byte großes Feld f¨ur die Transaktions-Kennung und ein 7
Byte großes Feld f¨ur den Roll-Zeiger.
Wenn der Benutzer keinen Prim¨arschl¨ussel f¨ur eine Tabelle definiert hat, enth¨alt jeder
Cluster-Index-Datensatz zus¨atzlich ein 6 Byte großes Zeilenkennungsfeld.
Jeder sekund¨are Index-Datensatz enth¨alt auch alle Felder, die f¨ur den Cluster-Index-
Schl¨ussel definiert wurden.
Ein Datensatz enth¨alt auch einen Zeiger zu jedem Feld des Datensatzes. Wenn die
Gesamtl¨ange des Feldes in einem Datensatz kleiner als 128 Bytes ist, ist der Zeiger 1
Byte lang, ansonsten 2 Bytes.
8.5.11.5 Wie eine Auto-Increment-Spalte in InnoDB funktioniert
Wenn der Benutzer nach einem Datenbankstart zuerst einen Datensatz in eine Tabelle T
einf¨ugt, in der eine Auto-Increment-Spalte definiert wurde, und er keinen expliziten Wert
f¨ur die Spalte angibt, f¨uhrt InnoDB SELECT MAX(auto-inc-column) FROM T aus und weist
den um 1 hochgez¨ahlten Wert der Spalte und dem Auto-Increment-Z¨ahler der Tabelle zu.
Wir sagen dazu, dass der Auto-Increment-Z¨ahler f¨ur Tabelle T initialisiert wurde.
InnoDB f¨uhrt dieselbe Prozedur der Initialisierung des Auto-Increment-Z¨ahlers f¨ur eine
frisch erzeugte Tabelle durch.
Wenn Sie f¨ur die Auto-Increment-Spalte einen Wert von 0 angeben, beachten Sie, dass
InnoDB die Zeile so behandelt, als atten Sie den Wert nicht angegeben.
Wenn nach der Initialisierung des Auto-Increment-Z¨ahlers der Benutzer eine Zeile eingibt,
in der er explizit den Spaltenwert angibt, und dieser gr¨oßer als der aktuelle ahlerwert ist,
wird der ahler auf den angegebenen Spaltenwert gesetzt. Wenn der Benutzer nicht explizit
einen Wert angibt, ahlt InnoDB den ahler um 1 hoch und weist der Spalte diesen neuen
Wert zu.
Der Auto-Increment-Mechanismus umgeht beim Zuweisen von Werten vom ahler Sperren
und Transaktionshandhabung. Daher onnen L¨ucken in der Nummernfolge entstehen, wenn
Sie Transaktionen zur¨uckrollen (Rollback), die Nummern vom ahler erhalten haben.
Das Verhalten von Auto-Increment ist f¨ur die alle undefiniert, in denen ein Benutzer der
Spalte einen negativen Wert gibt oder wenn der Wert gr¨oßer als die gr¨oßte Ganzzahl wird,
die im festgelegten Ganzzahl-Typ gespeichert werden kann.
Przeglądanie stron 538
1 2 ... 534 535 536 537 538 539 540 541 542 543 544 ... 767 768

Komentarze do niniejszej Instrukcji

Brak uwag