10 MySQL - Technische Referenz f¨ur Version 5.0.1-alpha
Der C Client-Code — stabil
Keine bekannten Probleme. Im fr¨uhen 3.20 Release gab es einige
Einschr¨ankungen hinsichtlich der Gr¨oße des Sende- / Empfangs-Puffers (buffer
size). Ab Version 3.21 ist die Puffergr¨oße jetzt dynamisch, bis zu einem
Vorgabewert von 16 M.
Standard-Client-Programme — stabil
Dies beinhaltet mysql, mysqladmin, mysqlshow, mysqldump und mysqlimport.
Basis-SQL — stabil
Die grundlegenden SQL-Funktionen, Zeichenketten-Klassen und dynamisches
Speicher-Handling. Nicht ein einziger berichteter Bug in diesem System.
Anfragen-Optimierer (Query optimizer) — stabil
Bereichs-Optimierer (Range optimizer) — stabil
Join-Optimierer (Join optimizer) — stabil
Sperren (Locking) — Gamma
Dies ist sehr system-abh¨angig. Auf einigen Systemen gibt es große Prob-
leme, wenn Standard-Betriebssystem-Sperren verwendet wird (fcntl()). In
solchen F¨allen sollten Sie den MySQL-Daemon mit dem Flag --skip-locking
laufen lassen. Bekannt ist, dass solche Probleme auf manchen Linux-Systemen
vorkommen sowie auf SunOS, wenn NFS- gemountete Dateisysteme verwendet
werden.
Linux-Threads — stabil
Das haupts¨achliche Problem fand sich im fcntl()-Aufruf, der durch Benutzung
der --skip-locking-Option bei mysqld behoben werden kann. Einige Leute
haben Lockup-Probleme mit Version 0.5 berichtet. Linux-Threads m¨ussen
rekompiliert werden, wenn Sie mehr als 1000 gleichzeitige Verbindungen be-
nutzen wollen. Obwohl es m¨oglich ist, so viele Verbindungen mit den vor-
gabem¨aßigen Linux-Threads laufen zu lassen (obwohl man nie ¨uber 1021 kom-
men wird), macht das vorgabem¨aßige Stack-Spacing von 2 MB die Applika-
tion unstabil, und wir konnten einen Coredump reproduzieren, nachdem 1021
Verbindungen im Leerlauf (idle connections) hergestellt wurden. Siehe Ab-
schnitt 3.6.1 [Linux], Seite 94.
Solaris 2.5+ pthreads — stabil
Wir benutzen dies f¨ur unsere gesamte Produktionsarbeit.
MIT-pthreads (andere Systeme) — stabil
Seit Version 3.20.15 gab es keine berichteten Bugs mehr, und keine bekannten
Bugs seit Version 3.20.16. Auf einigen Systemen gibt es ein “Misfeature”, das
heißt einige Operationen sind recht langsam (1/20 Sekunde Schlafzyklus zwis-
chen jeder Anfrage). Nat¨urlich k¨onnen MIT- Threads alles ein bisschen ver-
langsamen, aber Index-basierende SELECT-Statements werden ¨ublicherweise in
einem Zeit-Frame ausgef¨uhrt, also sollte es kein mutex locking/thread juggling
geben.
Comentarios a estos manuales