MySQL: Gibt es Statistiken?
Sven
- datenbank
Hallo ihr,
führt MySQL irgendwelche Statistiken? Ich würde meine Tabellen gerne mit Indizes ausstatten, um die Suchzeiten zu begrenzen... bevor ich aber jede(!) php-Seite durchwühle und nachgucke welche Abfragen dort laufen, wäre es einfacher, wenn ich mir die häufigst benutzten Abfragen anzeigen lassen könnte.
Führt MySQL solche Statistiken? Oder etwas vergleichbares, um den Aufwand zu reduzieren?
Lg
Sven
Führt MySQL solche Statistiken? Oder etwas vergleichbares, um den Aufwand zu reduzieren?
Hmm, nicht dass ich wüsste.
Aber du kannst mit der Option "log_slow_queries" eine Log-Datei über langsame Queries generieren lassen, wobei du "langsam" selbst mit einer Konfigurationsoption definierst. Du könntest dir z.B. so alle Queries ausspucken lassen, die länger als 0,01s benötigen.
Damit lässt sich denk ich ermitteln, wo Indizes nötig wären.
Gruß,
Andreas
Hello,
Führt MySQL solche Statistiken? Oder etwas vergleichbares, um den Aufwand zu reduzieren?
Hmm, nicht dass ich wüsste.
MxSQL hat ein Tool: mysqlbinlog bzw. mysqlbinlog.exe, dass binäre Logs lesbar machen kann. Soweit ich mich erinnere, kann man in so einem binären Log (Bytecode-Log) auch jedes Query loggen lassen.
Allerdings meine ich, dass ich das damals sehr schnell wieder abgeschaltet habe, weil es zu schnell voll lief, jedenfalls wesentlich schneller, als ein Apache Request-Log.
Ein harzliches Glückauf
Tom vom Berg
Hello,
Führt MySQL solche Statistiken? Oder etwas vergleichbares, um den Aufwand zu reduzieren?
Hmm, nicht dass ich wüsste.
MxSQL hat ein Tool: mysqlbinlog bzw. mysqlbinlog.exe, dass binäre Logs lesbar machen kann. Soweit ich mich erinnere, kann man in so einem binären Log (Bytecode-Log) auch jedes Query loggen lassen.
Allerdings meine ich, dass ich das damals sehr schnell wieder abgeschaltet habe, weil es zu schnell voll lief, jedenfalls wesentlich schneller, als ein Apache Request-Log.
Ich habe da noch alte Notizen gefunden:
log-bin = mysql-bin
Mit dieser Zeile in der my.cnf wurde das aktiviert.
Das Log wird übrigens normalerweise für die Replication der DB benötigt und MUSS daher JEDES Query loggen, wenn die Daten zweier synchronisierter Instanzen konsistent bleiben sollen.
Ein harzliches Glückauf
Tom vom Berg