MySQL-Optimierung – Tuning für Ihr Partnerprogramm

Eine geringe Ladezeit ist einer der wichtigsten Erfolgsfaktoren für Online-Shops. Vernünftige Ladezeit-Optimierung setzt bei einem der elementarsten Bausteine des Webshops an: Der Datenbank-Struktur.

Selbstverständlich werden Ihnen keine umfangreichen Kenntnisse im Umgang mit MySQL-Datenbank abverlangt. Die Optimierung der von Ihrem Partnerprogramm verwendeten MySQL-Datenbank-Tabellen erledigt die Software vollautomatisch.

Wenn Sie im Admin-Menüpunkt Optionen auf den Link MySQL-Optimierung geklickt haben, ist die Überprüfung Ihrer Datenbank bereits in vollem Gange und Sie müssen sich um nichts weiter kümmern.

Details zur MySQL-Optimierung

Screenshot der MySQL-Optimierung

Für Laien sind die nachfolgenden Informationen von nicht allzu großer Relevanz. Lesen Sie sie also bitte nur, wenn Sie den Vorgang der MySQL-Optimierung Ihres Partnerprogrammes nachvollziehen und ggf. durch eigene Programmierung ändern möchten.

Der Optimierungs-Prozess verläuft in diesen 3 Schritten:

  • Überprüfung der Datenbank-Tabellen
    Im ersten Schritt wird die vorhandene Tabellen-Struktur untersucht und ob die Indizes optimal definiert sind.
  • Indexierung
    Wird beim vorangegangenen Schritt, der Überprüfung der Tabellen festgestellt, dass ein sinnvoller Index fehlt, wird dieser automatisch angelegt.
  • Tabellen-Optimierung
    Auf vielen Servern erfolgt die Optimierung der MySQL-Datenbank-Tabellen nicht automatisch, obwohl dies sinnvoll wäre. Die PayPerSale-Software führt beim Aufruf des Unter-Menüpunkts MySQL-Optimierung den Befehl OPTIMIZE TABLE für jede von Ihrem Partnerprogramm verwendete Datenbank-Tabelle aus. Dabei wird Überhang entfernt und die Indizes werden neu erzeugt.

Hintergrund: Warum „Tuning für Ihr Partnerprogramm”?

Vor allem bei sogenannten „Shared Hosting”-Paketen, bei denen Sie sich den Webspace und Datenbank-Server mit einer Vielzahl weiterer Kunden teilen, ist die Ursache „spürbar” langer Ladezeiten nicht immer in vielen Requests oder großen Grafiken oder gar Videos zu suchen. Oftmals trägt die Verarbeitung von serverseitigen Vorgängen wie Datenbank-Abfragen bereits einen merklichen Teil zu einer unzufriedenstellenden Ladezeit bei.

Studien haben eindrucksvolle Zahlen aufgeworfen: Eine Verringerung der Ladezeit einer Website um nur 0,2 Sekunden kann bereits eine Umsatzsteigerung um 10 – 20% bewirken. Spätestens jetzt wird deutlich, dass der Unter-Menüpunkt MySQL-Optimierung durchaus seine Daseinsberechtigung hat und wir auf seine Programmierung nicht verzichten konnten.

Dank der richtigen Indexierung werden Datenbank-Abfragen um ein Vielfaches beschleunigt. Auf den meisten Servern macht sich dieses Tuning auch ohne technische Zeitmessungen in der Performance bemerkbar. Sie profitieren also von einer geringeren Ladezeit Ihres Partnerprogramms und einer daraus resultierenden Traffic- und möglichst auch Umsatzsteigerung.

Optimierungs-Tipps für Experten

Wenn Sie mit PHP und MySQL vertraut sind, möchten Sie möglicherweise selbst einen Blick auf die Optimierungs-Routine in der PayPerSale-Software werfen. Sie finden Sie in der admin/admin.php-Datei unterhalb der Zeile
}elseif($_GET['act'] == 'mysql_optimierung'){

Selbstverständlich kann eine allgemein in die Software eingebundene, automatisch arbeitende Optimierungs-Routine nur Veränderungen vornehmen, die bei den allermeisten Partnerprogrammen eine Verbesserung bewirken. Die individuelle Programmierung von Erweiterungen oder Änderungen an der Datenbank werden bei der automatischen nicht berücksichtigt.

Nachträglich in die Software eingearbeitete Module werden zwar nicht geschädigt. Es gibt jedoch keine Garantie, dass die automatische Optimierung wirklich die bestmögliche für Ihr individuelles Partnerprogramm ist. Vor allem auf folgenden Sachverhalt sei an dieser Stelle hingewiesen:

UNIQUE KEY in der pay_affiliates-Tabelle

In der Tabelle pay_affiliates wird ein UNIQUE KEY über den Spalten id, vorname, nachname und email angelegt. Dieser Schlüssel ermöglicht zahlreiche günstige Index Lookps und die Daten in der pay_affiliates werden selten geändert.

Der Experte sieht auf den ersten Blick, dass dieser Schlüssel bei mehreren hundert registrierten Affiliates eine enorme Größe annimmt und zu einer Verlangsamung des Anmelde-Prozesses führen kann. Die Ladezeit bei der Partner-Anmeldung sollte also bei einem Partnerprogramm mit einer 3stelligen Anzahl Affiliates im Auge behalten und der Schlüssel ggf. entfernt werden.

Dasselbe gilt für die Tabelle pay_bestellung und den in ihr angelegten UNIQUE KEY über den Spalten id, vorname und nachname. Bei mehr als 1.000 Bestellungen sollte ein Benchmark erwogen und der Schlüssel ggf. gelöscht werden.

Zurück zum übergeordneten Thema: