Vielen MySQL-Benutzern ist der Slow-Query-Log natürlich bekannt und meistens die erste Anlaufstelle um langsame SQL-Queries im System aufzuspüren und in der Einzelanalyse zu optimieren. Interessant sind jedoch die Möglichkeiten die long_query_time, also die Zeit bis zur Ausführung des Statements, zu parametrisieren und die Statements auszugeben, die nicht von einem Index gebrauch machen. Wichtig ist jedoch immer eine längerfristige Beobachtung und Analyse des Systems um Unschärfen oder einmalige “Ausrutscher” zu eliminieren und keine vorzeitigen Schlüsse zu ziehen.
Beim Start des MySQL-Daemons mit dem Parameter “–log-queries-not-using-indexes” werden Statements ohne Verwendung von Indizes ebenfalls protokolliert. Die Anlage des richtigen Indizes ist neben der Aktivierung des Query-Caches meist die einfachste Möglichkeit die Selektionsperformance deutlich zu verbessern.
Zusätzlich kann der Datenbank-Administrator noch seine eigenen Langläufer mit dem Parameter “–log-slow-admin-statements” ausgeben.
Inhalt des nächsten Serienteils ist das Table-Partioning.

Bernd Erk
Bernd Erk
CEO

Bernd ist Geschäftsführer der NETWAYS Gruppe und verantwortet die Strategie und das Tagesgeschäft. Bei NETWAYS kümmert er sich eigentlich um alles, was andere nicht machen wollen oder können (meistens eher wollen). Darüber hinaus startet er das wöchentliche Lexware-Backup und investiert seine ganze Energie in den Rest der Truppe und versucht für kollektives Glück zu sorgen. In seiner Freizeit macht er mit sinnlosen Ideen seine Frau verrückt und verbündet sich dafür mit seinem Sohn.