Optimierungspotenzial

Wir lassen unsere MySQL-Server alle “langsamen” Abfragen (d.h. Abfragen die länger als 5 Sekunden dauern) protokollieren, um eventuelle Flaschenhälse schnell identifizieren zu können.

Eben hab’ ich das hier gefunden:

# Time: 070526 11:10:32
# User@Host: xxxx[xxxx] @ [62.146.xxxxxx]
# Query_time: 119 Lock_time: 0 Rows_sent: 523 Rows_examined: 129599476

Da wurde ein Kunde in sehr kurzer Zeit von einigen Spambots wohl ziemlich zugemüllt… Rund 250.000 Einträge in der Gästebuch-Tabelle, verknüpft mit einem nicht sehr vorteilhaften JOIN, führen somit zu über 129 Millionen Datensätzen, die dann einzeln gegen die WHERE-Bedingung geprüft wurden. Da steckt auch unabhängig vom Spam einiges an Optimierungspotenzial drin.
Ich werde wohl am Nachmittag mal ein Script schreiben, das solche Aufälligkeiten im slow_query_log automatisiert “anmahnt”. :-)

Einen Kommentar schreiben