Hallo Mike,

Am 06.01.2011 07:04, schrieb Mike Ott:

> Eine kleine Frage zur Datenbankarchitektur: Ich habe viele Anwender, die auf
> eine Webserver MySQL-DB zugreifen. Es wäre übersichtlicher, für jeden
> Anwender eine eigene Tabelle anzulegen statt alle Anwenderdaten in einer
> grossen Tabelle zu vereinen.
> Gibt es ein Limit bezüglich Anzahl Tabellen in einer MySQL-DB? Hat dieses
> Vorgehen (jeder Anwender hat seine eigene Tabelle) einen Nachteil, z.B.
> punkto Geschwindigkeit?

Ja, das hat Nachteile und zwar aus datenbanklogischer Sicht. Eine
Abfrage/Auswertung über die Daten aller Anwender erfordert dann
einen Join über alle Tabellen. Das ist unübersichtlich und aufwändig
und kostet Performance. Die Anzahl der Joins in einem Query ist
möglicherweise sogar begrenzt (--> siehe MySQL-Doku). Da die
Anwender vermutlich veränderlich sind, das heißt es kommen mit der
Zeit neue hinzu und/oder es fallen mit der Zeit alte weg, müsste das
SQL-Statement jedes Mal per Programm dynamisch zusammengebaut
werden, um für jeden Anwender den erforderlichen Join hinzuzufügen.

Insgesamt und kurz gesagt: Igitt!

Gruß

Stefan

Antwort per Email an