Eine oder mehrere SQL-Tabellen?

MsvP@habdichliebhasi

Erfahrenes Mitglied
Hallo zusammen,

ich hätte mal eine etwas allgemeinere Frage.
Ich unterhalte seit längerem eine Plattform bei der man zu verschiedensten Dingen Kommentare abgegeben kann.
Man kann das Profil eines Users, Alben, Bilder, Termine, Blogeinträge kommentieren.

Bisher habe ich das alles in separaten Datenbank-Tabellen gespeichert. Es gibt also für jeden Kommentartyp eine eigene Datenbank.

Allerdings habe ich einige übergreifende Funktionen, die z.B. alle neuen Kommentare anzeigen. Das ist natürlich mitunter einwenig aufwendig, da ich so immer mehrere SQLAbfragen raushauen muss. Daher meine Frage, würde es sinn machen, alle Kommentare in eine Tabelle zu packen und diese nur noch über eine Spalte namens "typ" zu unterscheiden?
Ich habe bisher immer befürchtet, eine riesige Tabelle mit allen Kommentaren würde zu große und unübersichtlich werden - allerdings glaube ich mittlerweile, dass eine große Tabelle schneller in der Abfrage ist, als mehrere kleine, zumindest, wenn es um eine globale Abfrage für alle Kommentare geht.

Was meint ihr?

Liebe Grüße und vielen Dank im Vorraus.
 
Hey, danke für deine Einschätzung.

Ja, die Kommentare bzw die Tabellen sind alle gleich aufgebaut.
Bedeutet denn "völlig ok", dass es besser ist, als viele kleine? Oder gibt es auch etwas was dagegen sprechen würde?
 
Salü MsvP

Wenn ich eine kleine Anmerkung machen darf.
Dies soll nur als Gedankendsspiel gedacht sein

Gehen wir mal von der 3. Normalform für Datenbanken aus, müsste man alles in separaten Tabellen halten, was jedoch zu vielen SQL Queries führt.

Gehen wir aber vom Ansatz der Denormalisierung zu Optimierungszwecken aus, kannst du alles in eine Tabelle zusammenfassen. Dadurch kannst du mit einem Query mehr Daten gewinnen, als in der 3. Normalform.
Du kannst einfach nicht mit Fremdschlüsseln arbeiten, sondern musst beim Löschen explizit alle Einträge löschen, usw.

Grüsse
 
Das klingt einleuchtend. Vielen Dank euch beiden! =)
Dann werde ich mir mal Gedanken machen, wie ich die ganzen Kommentare in eine Tabelle bekomme. ;)
 

Neue Beiträge

Zurück