phpmyadmin - zu viele Tabellen?

OliverV

Member
11 März 2007
14
0
Guten Morgen,

ich benutze zur Datenbankadministration phpmyadmin und habe im Laufe der Zeit festgestellt, dass es scheinbar überlastet ist.
Es geht um eine Datenbank mit ca 2000 Tabellen (kommen alle paar Tage ca 15 dazu) und wenn ich phpmyadmin öffne wird die "rechte Seite" des Frames (wenn die Tabellen aufgelistet werden sollen ())und manchmal auch der Frame mit den Tabellennamen nicht angezeigt. Stattdessen sehe ich nur eine weiße Fläche und ich muss die Datenbank doch umständlich per Konsole pflegen.

Hier ein Bild, wo der "rechte Frame" nicht geladen wurde:




:arrow: Kann es wirklich sein, dass phpmyadmin so schnell überlastet ist?
:arrow: Kann ich das Problem irgenwie umgehen?
:arrow: z.B. Würde es helfen, wenn ich meine eine Datenbank mit 2000 Tabellen in 10 Datenbanken mit je 200 Tabellen aufsplitte und die Abfragescripte dann durch eine "Datenbank-Weiche" anpasse, so dass je nach abgefragten Tabellen dir richtige Teildatenbank ausgewählt wird?
Oder würde durch die vielen Datenbankwechsel das MySQL-Server nur unnötig belastet werden?
:arrow: Was ist im allgemeinen Besser?
Eine Datenbank mit vielen Tabellen oder mehrere Datenbanken mit je weniger Tabellen?



MFG,
OliverV
 
Es geht um eine Datenbank mit ca 2000 Tabellen (kommen alle paar Tage ca 15 dazu) [...]
Nur mal so gefragt: Du benutzt die Tabellen schon richtig, oder ?
Mir klingt das nämlich stark nach Tabellen à la "log_2007_01", "log_2007_02", ...

Ich muss sagen, ich hab phpMyAdmin noch auf eine solche Datenbank losgelassen.
Du kannst mal probieren, deine PHP-Konfiguration zu ändern, sodass das Script länger läuft, falls es mit einem Timeout zu tun hat :think:
 
Hallo,

nein, nein, es handelt sich nicht um Log-Tabellen.
Bei meinem alten Hoster hat es auch so geklappt mit dem phpmyadmin, aber seitdem ich einen V-Server habe, bricht er ab.

Welche Timeouts muss ich vergrößern? Nur die in der php.ini oder auch noch welche in der phpmyadmin.config?



MFG,
OliverV
 
Darf ich fragen, in welchem Zusammenhang es sinnvoll ist, so viele Tabellen bzw. eine wachsende Tabellenzahl zu verwenden? Leidet nur bei phpmyadmin die Performance darunter oder macht sich dad auch ansonsten so langsam bemerkbar?

Wegen der "Datenbankweiche": Ließe sich das denn so aufteilen, dass es selten nötig ist, dass ein Script mehr als eine der Aufteilungen braucht? Wenn ja, würde ich das in jedem Fall machen. (Zuerst würde ich mir aber vermutlich Gedanken darüber machen, ob man nicht auch ohne neu anzulegende Tabellen auskommen könnte.)


(Timeout von php.ini sollte reichen.)
 
Hallo,

es handelt sich um ein Forenhosting-Script und für jedes neu angelegte Forum werden ca 15 neue Tabellen in der Datenbank angelegt.

Alles andere funktioniert problemlos, nur phpmyadmin "spinnt rum".

Php.ini: Timeout bei 30 Sekunden
phpmyadmin: Timeout bei 300 Sekunden
Aber es wird komischerweise schon nach 5 Sekunden oder so abgebrochen, daher kann es eigentlich nicht daran liegen.


Mit der "Datenbankweiche" würde ich das dann so programmieren, dass elle Foren, die mit a,b,c anfangen in der ersten Datenbank abgelegt werden, alle mit d,e,f am Anfang in der zweiten Datenbank und so weiter.....


MFG,
OliverV
 
Kann es sein, dass da kein Timeout sondern das Memory-Limit überschritten wird?

Wenn es seperate Foren sind, sollte die Aufteilung ja wirklich keine Probleme bereiten. Wäre einen Versuch wert.
 
Hallo,

ich hab das Memory-Limit der php.ini jetzt mal von 8M auf 30M gesetzt und im Moment sieht es gut aus.

Also phpmyadmin läuft wie gewünscht.
Werde das jetzt erstmal so lassen, und wenn es wieder Performanceprobleme gibt, werde ich dann wohl mal über die "Datenbankweiche" nachdenken.


Danke für eure Hilfe.



MFG,
OliverV
 
es handelt sich um ein Forenhosting-Script und für jedes neu angelegte Forum werden ca 15 neue Tabellen in der Datenbank angelegt.
Es wäre zu überdenken, ob du das nicht in Ordnung bringst.
Prinzip:
  • einmalig diese 15 Tabellen
  • zusätzlich in jede dieser obiger Tabellen ein Feld, welches das Forum identifiziert
  • eine Tabelle, die alle Foren beinhaltet
  • Jede Abfrage in eine der 15 Tabellen müsste mit WHERE `forum`=123 erweitert werden.
Du kannst den Speicher ja nicht ins Unermessliche erhöhen, wenn immer wieder neue Foren dazukommen.