524 MySQL - Technische Referenz f¨ur Version 5.0.1-alpha
Wenn Sie mit AUTOCOMMIT=1 fahren (der Vorgabe), werden Ihre
¨
Anderungen sofort
a/jointfilesconvert/293675/bgeschickt. Sie k¨onnen eine ausgedehnte Transaktion mit dem SQL-Befehl BEGIN WORK
starten. Danach werden Ihre
¨
Anderungen solange nicht a/jointfilesconvert/293675/bgeschickt, bis Sie COMMIT
ausf¨uhren (oder sich f¨ur ROLLBACK entscheiden, um Ihre
¨
Anderungen zu verwerfen).
Folgende Optionen f¨ur mysqld k¨onnen benutzt werden, um das Verhalten von BDB-Tabellen
zu ¨andern:
Option Beschreibung
--bdb-home=directory Base Verzeichnis f¨ur BDB-Tabellen. Das sollte dasselbe
Verzeichnis sein, das Sie f¨ur –datadir benutzen.
--bdb-lock-detect=# Berkeley-Sperr-Erkennung. # steht f¨ur DEFAULT, OLD-
EST, RANDOM oder YOUNGEST.
--bdb-
logdir=Verzeichnis
BerkeleyDB-Log-Datei-Verzeichnis.
--bdb-no-sync Flush-Logs nicht synchronisieren.
--bdb-no-recover BerkeleyDB nicht im Wiederherstellungsmodus starten.
--bdb-shared-data BerkeleyDB im Multi-Prozess-Modus starten (DB_PRIVATE
bei der Initialisierung von BerkeleyDB nicht verwenden).
--bdb-
tmpdir=verzeichnis
Name der tempor¨aren Datei von BerkeleyDB.
--skip-bdb BerkeleyDB nicht benutzen.
-O bdb_max_lock=1000 Setzt die h¨ochste Anzahl m¨oglicher Sperren. Siehe Ab-
schnitt 5.5.5.4 [SHOW VARIABLES], Seite 249.
Wenn Sie --skip-bdb benutzen, initialisiert MySQL nicht die BerkeleyDB-Bibliothek und
spart deshalb viel Speicher. Nat ¨urlich k¨onnen Sie BDB-Tabellen nicht benutzen, wenn Sie
diese Option verwenden.
Normalerweise sollten Sie mysqld ohne --bdb-no-recover starten, wenn Sie vorhaben,
BDB-Tabellen zu verwenden. Das kann allerdings zu Problemen f¨uhren, wenn Sie mysqld
starten und die BDB-Log-Dateien besch¨adigt sind. Siehe Abschnitt 3.4.2 [Starting server],
Seite 85.
Mit bdb_max_lock k¨onnen Sie die maximale Anzahl von Sperren festlegen (vorgabem¨aßig
10.000), die auf einer BDB-Tabelle aktiv sein k¨onnen. Sie sollten diesen Wert herauf setzen,
wenn Sie Fehler vom Typ bdb: Lock table is out of available locks oder Got error 12
from ... erhalten, wenn Sie lange Transaktionen ausf¨uhren oder wenn mysqld viele Zeilen
untersuchen muss, um die Anfrage zu berechnen.
Sie k¨onnten auch binlog_cache_size und max_binlog_cache_size ¨andern, wenn Sie
große, vielzeilige Transaktionen benutzen. Siehe Abschnitt 7.7.1 [COMMIT], Seite 470.
8.6.4 Kennzeichen von BDB-Tabellen
• Um Transaktionen zur¨uckrollen zu k¨onnen, unterh¨alt BDB Log-Dateien. Um maximale
Performance zu erzielen, sollten Sie diese auf andere Festplatten platzieren als Ihre
Datenbanken, indem Sie die --bdb_log_dir-Option benutzen.
• MySQL macht jedes Mal, wenn eine neue BDB-Log-Datei gestartet wird, einen Check-
point und entfernt alle Log-Dateien, die nicht f¨ur aktuelle Transaktionen ben¨otigt wer-
den. Sie k¨onnen auch jederzeit FLUSH LOGS laufen lassen, um einen Checkpoint f¨ur die
BerkeleyDB-Tabellen anzulegen.
Komentarze do niniejszej Instrukcji