Diese Frage ist natürlich von überragender Bedeutung. Dieser Abschnitt soll
einige dieser Fragen klären. Es werden hier daher die typischen Anfragen aus der
Mailing-Liste für BUG-Reports beantwortet. Sie werden vielleicht im
Folgenden bemerken, daß es kaum von irgendeinem Hersteller so ehrliche
Aussagen zu Fehlern in Software gibt. Dank der OpenSource Entwicklung weiß
nun der Systemadministrator, an welcher Stelle er zuerst suchen muß, also wo
die Wahrscheinlichkeit, den Fehler schnell zu finden, am größten ist.
Das steht krass im Gegensatz zur Politik einiger Firmen, die Fehler nur dann
zugeben, wenn diese offensichtlich sind, oder Fehler einfach als Standard
erklären .....
Auf TCX, arbeitet MySQL seit Mitte 1996, also inzwischen 3 Jahre
ohne Probleme. Als MySQL der Öffentlichkeit zugänglich gemacht
wurde, stellte sich heraus, daß einige Teile des Codes noch nicht
ausreichend getestet waren. Abfragen, die User in einer etwas anderen Syntax
formulierten, führten zu Problemen. Jedes neue Release hatte geenüber dem
Vorgänger stets weniger Probleme (auch wenn neue Features hinzukamen).
Bisher jede MySQL Version war ohne Einschränkungen einsetzbar.
Probleme treten gewöhnlich immer dann auf, wenn User versuchen, neue Befehle
aus der "grauen Zone" zu verwenden. Dieser Abschnitt beschränkt sich auch
nur auf die bekannten Probleme. Alle bekannten und berichteten Bugs sind in
der letzen Version korrigiert worden, mit Ausnahme derjenigen Bugs, die
Design-Änderugen betreffen. Siehe hierzu Kapitel
Bekannte Fehler und Design - Fehler in MySQL
MySQL ist in verschiedenen Ebenen und verschiedenen, voneinander
unabhängigen Modulen implementiert worden. Diese Module sind hier nun genau
beschrieben und es wird angegeben, wie gut diese jeweils getestet sind. Der
Leser mag dann selber entscheiden, welche Probleme eventuell auf ihn
zukommen, in Abhängigkeit der Implemenierung der Datenbank:
- ISAM table handler - stabil. Dieser Handler speichert und liest
alle Daten. Es wurde in allen MySQL Versionen nicht ein einzige
Fehler berichtet bzw. entdeckt. Es gibt auch keine Berichte über
Datenverluste.
- Parser und Syntax-Analyser - stabil. Eine Berichte über Probleme seit
langer Zeit.
- C Client Code - stabil. Keine bekannten Probleme soweit. In den frühen
3.20 er Versionen gab es einige Begrenzungen in der buffer size, welche aber
mit der Version 3.21 beseitigt wurden. Die buffer size wird nun dynamisch
bis zu einer Größe von 24 MByte angepasst.
- Standard Client Programme - stabil. Diese sind mysql, mysqladmin,
mysqlshow, mysqldump und mysqlimport.
- SQL Funktionen - stabil. Die Basisfunktionen von SQL, String-Klassen
und das dynamische Memory Handling laufen ohne Probleme. Kein einziger BUG
Report.
- Query optimizer - gamma
- Range optimizer - stabil
- Join optimizer - stabil
- Locking - gamma. Diese Funktion ist sehr vom Betriebssystem abhängig.
Auf einigen Systemen gibt es Probleme mit dem Standard Locking (fcntl()). In
diesem Fällen muß der MySQL Dämon mit den Optionen
--skip-locking kompiliert werden. Die Probleme treten nur auf bei
einigen LINUX - und SunOS Systemen, wenn ein NFS-Filesystem verwendet wird.
- Linux threads - gamma. Das Problem läßt sich mit obigen
Kompileroptionen beseitigen.
- Solaris 2.5+ pthreads - stabil. Dieses Betriebssystem wird bei TCX
eingesetzt zur Entwicklung !
- MIT-pthreads - gamma. Es wurden keien Bugs mehr berichtet seit der
Version 3.20.15, als keine Probleme mehr seit der Version 3.20.16.
MIT-pthreads sind eventuell ein wenige langsam, weil die ca. 1/20 Sekunde
zwischen jeder Abfrage verzögern, aber Index-basierte SELECT Abfragen
sollten normalerweise innerhalb eines Zeit-Zyklus stattfinden, sodaß hier
keine mutex locking/tread juggling Probleme auftreten sollten. Andere Thread
Implementierungen - alpha und beta: Es sind bisher viele
Probleme aufgetreten, hauptsächlich mit dem Thread - Implementierungen
selber.
- LOAD DATA.., INSERT .... SELECT - stabil. Es traten nur einige
Mißverständnisse bezüglich der Syntax auf. Keine Probleme im Code soweit.
- ALTER TABLE - gamma. Kleine Änderungen in der Version 3.22.12
- DBD - gamma. Nun von Jochen Wiedmann betreut.
- mysqlaccess - gamma. Geschrieben und betreut von Jochen Wiedmann
- GRANT - beta. Ein paar Änderungen wurden in 3.22.12 vorgenommen.
- MyODBC (ODBC SDK 2.5) - beta. Mit einigen Programmen scheint es gut zu
funktionieren.