Anhand dieser Benchmark-Reihe kann jeder Benutzer ermitteln,
welche Operationen eine gegebene SQL-Implementierung gut oder
weniger gut ausführt. Sie können sich einen guten Eindruck
davon verschaffen, wie die Benchmarks funktionieren, indem Sie
sich den Code und die Ergebnisse im Verzeichnis
sql-bench
einer beliebigen
MySQL-Quelldistribution ansehen.
Beachten Sie, dass diese Benchmark nur einen Thread verwendet – sie misst also die Mindestdauer der durchgeführten Operationen. Wir planen, die Benchmark-Reihe in Zukunft durch Multithread-Tests zu ergänzen.
Um die Benchmark-Reihe verwenden zu können, müssen folgende Voraussetzungen erfüllt sein:
Die Benchmark-Reihe wird als Bestandteil der MySQL-Quelldistributionen ausgeliefert. Sie können entweder eine Release-Version von http://dev.mysql.com/downloads/ herunterladen oder den aktuellen Entwicklungs-Source-Tree verwenden. (Siehe auch Abschnitt 2.8.3, „Installation vom Entwicklungs-Source-Tree“.)
Die Benchmark-Skripten sind in Perl geschrieben und
verwenden das Perl-DBI-Modul für den Zugriff auf
Datenbankserver; insofern muss DBI installiert sein. Ferner
benötigen Sie die serverspezifischen BDB-Treiber für jeden
Server, den Sie testen wollen. Um beispielsweise MySQL,
PostgreSQL und DB2 prüfen zu können, müssen die Module
DBD::mysql
, DBD::Pg
und DBD::DB2
installiert sein. Siehe auch
Abschnitt 2.13, „Anmerkungen zur Perl-Installation“.
Nachdem Sie sich eine MySQL-Quelldistribution besorgt haben,
finden Sie die Benchmark-Reihe im dortigen Verzeichnis
sql-bench
. Um die Benchmark-Tests
durchzuführen, erstellen Sie MySQL und wechseln dann in das
Verzeichnis sql-bench
. Dort führen Sie das
Skript run-all-tests
aus:
shell>cd sql-bench
shell>perl run-all-tests --server=
server_name
server_name
sollte der Name eines der
unterstützten Server sein. Um eine Liste aller Optionen und
unterstützten Server zu erhalten, rufen Sie folgenden Befehl
auf:
shell> perl run-all-tests --help
Das Skript crash-me befindet sich ebenfalls
im Verzeichnis sql-bench
.
crash-me versucht durch Ausführung von
Abfragen zu ermitteln, welche Funktionen ein Datenbanksystem
unterstützt und welche Fähigkeiten und Einschränkungen es
aufweist. Beispielsweise wird ermittelt,
welche Datentypen unterstützt werden,
wie viele Indizes unterstützt werden,
welche Funktionen unterstützt werden,
wie groß eine Abfrage sein darf,
wie groß eine VARCHAR
-Spalte sein darf.
Weitere Informationen zu Benchmark-Ergebnissen finden Sie unter http://dev.mysql.com/tech-resources/benchmarks/.
Dies ist eine Übersetzung des MySQL-Referenzhandbuchs, das sich auf dev.mysql.com befindet. Das ursprüngliche Referenzhandbuch ist auf Englisch, und diese Übersetzung ist nicht notwendigerweise so aktuell wie die englische Ausgabe. Das vorliegende deutschsprachige Handbuch behandelt MySQL bis zur Version 5.1.