ichselbst: Frage zum Design einer mySQL-Tabelle...

Beitrag lesen

Hallo!

Mal eine Frage an alle mySQL-Kenner hier bzgl. des "Designs" einer Tabelle. Ich habe eine Seite, auf der ich momentan etwa 20.000 registriete Benutzer habe. Jeder Benutzer hat eine "Inbox", in der er Nachrichten von anderen Benutzern empfangen kann. Bisher habe ich das alles mit Flatfiles (also einfachen Textdateien) gemacht. Die Nachrichten wurden also als einfache Textzeile (empfaenger, absender, text) abgespeichert und für jeden Benutzer existiert eine Textdatei.

Da ext2 ab ca. 20000 Dateien pro Verzeichnis beginnt, ziemlich langsam zu werden, muss ich das ganze jetzt wohl oder übel auf eine Datenbank umstellen.

Die Frage ist: Wie speichere ist das am besten und efizientesten in einer Datenbank? Eine große 3-spaltige Tabelle, in die ich alle Nachrichten aller Benutzer reinschreibe (empfaengername, absender, text)? Die Nachrichten eines bestimmten Benutzers müsste ich dann bei jedem Zugriff über "SELECT text, absender WHERE empfaenger=einuser" raussuchen. Ist das halbwegs effizient oder gibt es eine bessere Möglichkeit?

Danke schon mal für eure Meinungen...

Grüße
ichselbst