PythonQ 240-8XX Bedienungsanleitung Seite 538

  • Herunterladen
  • Zu meinen Handbüchern hinzufügen
  • Drucken
  • Seite
    / 768
  • Inhaltsverzeichnis
  • LESEZEICHEN
  • Bewertet. / 5. Basierend auf Kundenbewertungen
Seitenansicht 537
Kapitel 8: MySQL-Tab ellentypen 517
Wenn neue Datens¨atze eingef¨ugt werden, versucht InnoDB, 1/16 der Seite f¨ur zuk¨unftige
Einf¨ugungen und Aktualisierungen des Index-Datensatzes freizuhalten.
Wenn Index-Datens¨atze in sequentieller (aufsteigender oder absteigender) Reihenfolge
eingef¨ugt werden, sind die resultierenden Index-Seiten ungef¨ahr zu 15/16 gef¨ullt. Wenn
der F¨ullfaktor einer Index-Seite unter 1/12 allt, versucht InnoDB, den Index-Baum
zusammenzuziehen, um die Seite freizugeben.
8.5.11.2 Einf¨ugepufferung
aufig wird der Prim¨arschl¨ussel in Datenbank-Applikationen als eindeutiger Identifizierer
benutzt und neue Zeilen in aufsteigender Reihenfolge des Prim¨arschl ¨ussels eingef¨ugt. Daher
erfordern Einf¨ugungen in den Cluster-Index keine wahlfreien (random) Lesezugriffe auf die
Platte.
Sekund¨are Indexe auf der anderen Seite sind ¨ublicherweise nicht eindeutig und Einf¨ugungen
in sekund¨are Indexe erfolgen in einer relativ wahlfreien Reihenfolge. Wenn InnoDB keinen
speziellen Mechanismus hierf¨ur benutzen w¨urde, w¨urden diese viele wahlfreie Festplatten-
Ein- und -Ausgaben verursachen.
Wenn ein Index-Datensatz in einen nicht eindeutigen sekund¨aren Index eingef¨ugt werden
soll, pr¨uft InnoDB, ob die sekund¨are Index-Seite bereits im Puffer-Pool ist. Wenn das
der Fall ist, f¨uhrt InnoDB das Einf¨ugen direkt in die Index-Seite durch. Wenn die Index-
Seite aber nicht im Puffer-Pool gefunden wird, f¨ugt InnoDB den Datensatz in eine spezielle
Einf¨uge-Puffer-Struktur ein. Der Einf¨uge-Puffer wird so klein gehalten, dass er komplett in
den Puffer-Pool passt, so dass Einf¨ugungen sehr schnell durchgef¨uhrt werden onnen.
Der Einf¨uge-Puffer wird perio disch mit den sekund¨aren Index-B¨aumen in der Datenbank
vermengt. Oft onnen mehrere Einf¨ugeoperationen auf derselben Seite im Index-Baum
zusammengefasst werden, so dass Festplatten-Ein- und -Ausgaben eingespart werden. Mes-
sungen ergaben, dass der Einf¨uge-Puffer Einf¨ugungen in eine Tabelle bis zu 15 mal schneller
machen kann.
8.5.11.3 Anpassungsf¨ahige Hash-Indexe
Wenn eine Datenbank fast komplette in den Hauptspeicher passt, onnen Anfragen am
schnellsten unter Verwendung von Hash-Indexen ausgef¨uhrt werden. InnoDB hat einen au-
tomatischen Mechanismus, der Index-Suchen beobachtet, die auf den Indexen durchgef¨uhrt
werden, die f¨ur eine Tabelle definiert wurden. Wenn InnoDB bemerkt, dass Anfragen vom
Aufbauen eines Hash-Indexes profitieren onnten, wird ein solcher Index automatisch aufge-
baut.
Beachten Sie aber, dass der Hash-Index immer auf der Grundlage eines bestehenden B-
Baum-Indexes auf die Tabelle aufgebaut wird. InnoDB kann einen Hash-Index auf einem
Pr¨afix beliebiger ange des Schl¨ussels aufbauen, der f¨ur den B-Baum definiert wurde,
abh¨angig vom Suchmuster, das InnoDB auf dem Index-Baum beobachtet. Ein Hash-Index
kann partiell sein: Es ist nicht erforderlich, dass der gesamte Index-Baum im Puffer-Pool
zwischengespeichert ist. InnoDB baut Hash-Indexe bei Bedarf automatisch f¨ur die Index-
Seiten auf, auf die oft zugegriffen wird.
Seitenansicht 537
1 2 ... 533 534 535 536 537 538 539 540 541 542 543 ... 767 768

Kommentare zu diesen Handbüchern

Keine Kommentare