Chris: /MySQL: DB-Connection auch bei Last sicherstellen

Beitrag lesen

Hallo,

als erstes solltest Du mal Zeitfresser suchen.
Bei Datenbankzugriffen sind das i.d.R. schlecht formulierte Queries, die z.B. eine zu tiefe oder zu breite Ergebnismenge liefern.

Dann auf jeden Fall nach Schleifen suchen in den Abfragen und diese durch intelligentere Queries ersetzen.

Dann auch Zwischenergebnisse in Scripten wieder freigeben.
Ein MySQL_free_result() an der passenden Stelle wirkt oft Wunder!
Das ist ein Punkt, der ganz schnell ins Garaus führen kann.

Dazu gehört auch, die Connection so spät wie möglich aufzunehmen und so schnell wie möglich wieder freizugeben.

Und zum Schluss kann man noch mit Medizin arbeiten. MySQL kann wohl immer noch keine stored procedures und kein Query-Chaching. Das kannst Du aber vom Abfrage-Design her ggf. emulieren. Tabellen, die nicht so häufig geändert werden, müssen nicht unbedingt jedes Mal abgefragt werden, sondern könnten per shared Memory (mit Dirty-Flag = Semaphoren) zwischengepuffert werden. Allerdings sollte MySQL bei der passenden Wahl des Speichermodells auch schon größtenteils selber machen... Also abwägen!

LG
Chris