Der Martin: mysql show processlist

Beitrag lesen

Moin,

in den letzten Tagen habe ich immer wieder Probleme, dass sich eine bestimmte Datenbaktabelle festfährt. SHOW PROCESSLIST zeigt mir die Tabelle und die Anweisung (es immer ein UPDATE...).

also ein SQL-Query, das die Datenbank immens beschäftigt?

Da diese Anweisung in mehreren Scripten vorkommt, wäre jetzt noch gut zu wissen welches Script da amok läuft.

Betreibe Debugging. Du sagst nichts über die verwendete Scriptsprache; ich gehe aber wegen der Popularität mal von PHP aus. Fürs Prinzip ist das aber auch egal. Ich würde eine Logdatei führen und da vor jeder verdächtigen Anweisung einen eindeutigen Eintrag reinschreiben. So kannst du erkennen, wo das Script hängt (mit tail sogar live).

Andererseits kann das Script vielleicht gar nichts dafür, sondern dein SQL-Statement ist prinzipiell so ... ungünstig gebaut, dass es den DB-Server über Gebühr strapaziert. Ursache ist auch oft ein ungünstiges Datenmodell.

Live long and pros healthy,
 Martin

--
Ich stamme aus Ironien, einem Land am sarkastischen Ozean.