PythonQ 240-8XX Manual de usuario Pagina 536

  • Descarga
  • Añadir a mis manuales
  • Imprimir
  • Pagina
    / 768
  • Tabla de contenidos
  • MARCADORES
  • Valorado. / 5. Basado en revisión del cliente
Vista de pagina 535
Kapitel 8: MySQL-Tab ellentypen 515
Der Abschnitt SYNC INFO berichtet reservierte Semaphore, wenn Sie InnoDB mit UNIV_
SYNC_DEBUG kompilieren, definiert in univ.i’.
Der Abschnitt SYNC ARRAY INFO berichtet Threads, die auf ein Semaphor warten, und
Statistiken, wie viele Male Threads ein Spin oder ein Warten auf einem Mutex o der
einem Lese-/Schreibe-Sperr-Semaphor ben¨otigten. Eine große Anzahl auf Semaphore
wartender Threads kann ein Ergebnis von Festplatten-Ein- und -Ausgaben oder Kon-
fliktproblemen innerhalb von InnoDB sein. Konflikte onnen durch starke Parallelen
von Anfragen oder durch Probleme des Betriebssystems beim Thread Scheduling her-
vorgerufen werden.
Der Abschnitt CURRENT PENDING FILE I/O’S listet anh¨angige Datei-Ein- und
-Ausgabeanforderungen auf. Eine große Anzahl davon zeigt an, dass die Auslastung
Festplatten-Ein- und -Ausgabe-gebunden ist.
Der Abschnitt BUFFER POOL gibt statistische Informationen ¨uber gelesene
und geschriebene Seiten. Aus diesen Zahlen onnen Sie errechnen, wie viele
Daten-Datei-Ein- und Ausgaben Ihre Anfragen aktuell durchf¨uhren.
8.5.10 Implementation des Multiversionings
Weil InnoDB eine multiversionierte Datenbank ist, muss es Informationen ¨uber alte Versio-
nen von Zeilen im Tabellenplatz (Tablespace) aufb ewahren. Diese Informationen werden in
einer Datenstruktur gespeichert, die wir in Anlehnung an eine analoge Struktur in Oracle
Rollback-Segment nennen.
InnoDB f¨ugt jeder Zeile, die in der Datenbank gespeichert wird, intern zwei Felder hinzu.
Ein 6 Byte großes Feld enth¨alt den Transaktions-Identifikator der letzten Transaktion, die
die Zeile eingef ¨ugt oder aktualisiert hat. Ein oschen wir intern als eine Aktualisierung be-
handelt, wobei ein spezielles Bit in die Zeile eingef¨ugt wird, um sie als gel¨oscht zu markieren.
Jede Zeile enth¨alt ausserdem ein 7 Byte großes Feld, das Roll-Zeiger genannt wird. Der Roll-
Zeiger zeigt auf einen R¨uckg¨angig-Log-Datensatz, der in das Rollback-Segment geschrieben
wird. Wenn die Zeile aktualisiert wurde, enth¨alt der R¨uckg¨angig-Log-Datensatz die In-
formationen, die notwendig sind, um den Inhalt der Zeile wieder herzustellen, bevor sie
aktualisiert wurde.
InnoDB benutzt die Informationen im Rollback-Segment, um die R¨uckg¨angig-Operationen
durchzuf¨uhren, die bei einem Transaktions-Rollback notwendig sind. Diese Informatio-
nen benutzt es auch daf¨ur, um fr¨uhere Informationen einer Zeile beim Konsistenten Lesen
aufzubauen.
R¨uckg¨angig-Logs im Rollback-Segment lassen sich in Logs ur Einf¨ugen und ur Aktu-
alisieren unterteilen. Einf¨uge-R¨uckg¨angig-Logs werden nur f¨ur Transaktions-Rollbacks
ben¨otigt und onnen verworfen werden, sobald die Transaktion a/jointfilesconvert/293675/bgeschickt ist (commit).
Aktualisierungs-R¨uckg¨angig-Logs werden auch f¨ur Konsistentes Lesens benutzt und
onnen daher erst verworfen werden, wenn keine Transaktion mehr vorhanden ist, f¨ur die
InnoDB einen Schnappschuss zugewiesen hat, dessen Informationen beim Konsistenten
Lesen ben¨otigt werden onnten, um daraus eine fr¨uhere Version der Datenbank-Zeile
aufzubauen.
Sie m¨ussen daran denken, Ihre Transaktionen regelm¨aßig abzuschicken (commit), auch die
Transaktionen, die nur Konsistentes Lesens ausf¨uhren. Ansonsten kann InnoDB Daten aus
Vista de pagina 535
1 2 ... 531 532 533 534 535 536 537 538 539 540 541 ... 767 768

Comentarios a estos manuales

Sin comentarios