grosse mySQL-DB --> lange Antwortzeiten

dandelion

Aktives Mitglied
Wer hat Erfahrung mit grossen mySQL-Datenbanken ?

Auf meiner Website können Datenbankabfragen getätigt werden. Die Datenbank (1 Table) umfasst zur Zeit ca. 60'000 Records und hat eine Grösse von 370 MB.
Die DB-Zugriffe erfolgen mit PHP.
Nun zum Problem: Falls mehrere User gleichzeitig Datenbankabfragen tätigen,
so wird die Antwortzeit sehr langsam, sogar bis zu mehreren Minuten. (ungefähre Anzahl visitors pro Stunde: 50)

Die Website läuft auf einem Root-Server (512 MB SDRAM), der, so dachte ich, sehr leistungsfähig ist. Mein Website-Hoster empfiehlt mir, auf einen stärkeren Server umzusteigen, der dann auch ca. Fr. 200.- pro Monat kostet. Die Begründung lautet, der Server sei zu wenig leistungsfähig für eine Datenbank mit dieser Grösse.

Hat jemand von Euch ähnliche Probleme ?
Bin für Hinweise sehr dankbar !
Philipp

 
512 MB Arbeitsspeicher sind schon ganz ordentlich, aber Performaceschub würde auch Erhöhung auf 1024 bringen, denn der Arbeitsspeicher ist bei DB-Abfragen sehr wichtig.
Bei sovielen Einträgen wäre aber erstmal wichtig, dass du die Tabelle optimierst und (über phpmyadmin zB). Zudem sollte die indiziert werden, damit die Suche shcneller vonstatten geht, das könnte schon einiges an Performance bringen.
Wenn es keine miese CPU usw. ist, sollte der bei der größe normal noch nicht in die Knie gehen, speziell wenn die DB optimiert und indiziert wurde. Hab da phpBB-Forum welches auch fast die Größe erreicht, aber um einiges mehr an Usern hat, da sind zu guten Zeiten laufend 50+ User on, wundern mich daher die probleme (oder läuft da noch einiges anderes drauf?).
 
Danke für die Tipps.

Die häufigste Abfrage auf meiner Datenbank lautet:
select * from datenbank where beschreibung like "%suchwert%".
Nun habe ich im mySQL-Manual mit Schrecken gelesen, dass mySQL bei LIKE-Abfragen mit führendem '%' KEINEN Index benutzt (obwohl einer vorhanden wäre). Ich frage mich, wie ich denn eine entsprechende Abfrage machen kann MIT Benutzung des Indexes ??




 
Zurück
Oben