Seine Mysql Datenbank optimieren

Warum eine Datenbank optimieren ?

Man muss immer seine Datenbank pflegen damit Sie leistungsfähig bleibt. Die Informationen die in der Datenbank enthalten sind, müssen so schnell wie möglich an den Skript, der die Daten beantragt hat gesendet werden. Deshalb braucht man eine strukturierte und optimierte Datenbank. In dieser Anleitung erfahren Sie wie man am besten seine Datenbank optimiert.

Auf die Datenbank

  • Die Datenbank indexieren :
Um die schnelligkeit der Suche bei Sql-Abfragen zu verbessern, muss man ein Index auf den Felder, die sich in der WHERE Bedingung befinden setzen.

Zum Beispiel :

Sie machen eine Suche auf eine Person im Bezug auf die Stadt. Hier müssen Sie das Feld "Stadt" indexieren :
ALTER TABLE `test` ADD INDEX ( `Stadt` );


  • Die Datenbank reinigen :
Verschiedene Daten werden in Ihrer Datenbank nicht meht benutzt. Sie können diese Daten archivieren. Ihre Tabellen werden dadurch kleiner und die Sql-Abfragen werden dann schneller bearbeitet.

In den Skripten

  • Begrenzung der Anzeige :
Die Anzeige der Datensätze begrenzen (10 pro Seite) mit Hilfe der LIMIT Bedingung.

  • Die Abfragen zusammenfassen :
Fassen Sie die Abfragen wie folgenderweise beschrieben am Anfang des Skriptes zusammen :



datenbank_verbindung
abfrage1
abfrage2
...
datenbank_verbindung_schliessen

Anzeige ...
Bearbeitung der Daten
Schleife ...
Anzeige ...
...



  • Cache erstellen :

Wenn Sie Infos aus einer Datenbank ziehen die fast nie geändert werden, können Sie sie in den Cache laden. Zum Beispiel,
die Html Seite erstellen wenn Sie die Informationen ändern, solche Tricks werden die Zugänge erniedrigen. Zum Beispiel bei einer News Seite, wenn die Html Datei sich im Cache befindet, verwenden Sie sie (einfaches include), wenn nicht, erstellen Sie die Seite. Wenn jetzt eine neue News gepostet wurde, können Sie in Ihren Skript das löschen der html Datei einfügen : Die Datei wird dann beim nächsten Aufruf neu erstellt. Sie können auch Session-Cache benutzen. Die Ergebnise einer Abfrage in Session-Variablen packen, dann wird die selbe Abfrage nicht mehr neu ausgeführt, sondern die Session-Variablen werden benutzt.

  • Nur das Notwendigste abfragen :

In den SQL Abfragen, überprüfen Sie dass Sie nur die Daten abfragen die Sie auch brauchen. Prüfen Sie auch dass Sie keine Verbindungen zwischen den Tabellen vergessen haben (where tabelle1.feld1 = tabelle2.feld2) denn es kann die Antwort Zeit der Abfrage vergrössern.

  • Vermeiden Sie Zeitkritische Optionen :

Vermeiden Sie Optionen wie HAVING oder GROUP BY, die viel Zeit in Anspruch nehmen, zu benutzen.