Hi
Ich programmiere gerade ein Wörterabfrageprogramm und ich möchte die Wörter, welche man falsch beantwortet hat in die Datenbank (MySQL) speichern, damit man dann exakt diese nocheinmals abfragen kann. Das Problem, es ist ein Multiusersystem!
Hier stehe ich vor dem Problem, es gibt zwei Varianten bis jetzt und ich weiss nicht, welche die Bessere ist:
1. Variante: Die Tabelle würde so gestaltet:
Hier gibt es für jedes Wort einen eigenen Datenbankeintrag. Bei vielen Benutzern und wachsender Anzahl Wörter gibt das allerdings eine riesige Zahl von Datensätzen.
2. Variante:
Hier werden alle Kategorie-Id's und Wörter-Id's durch Seperatoren in einen riesigen String geschrieben und per REGEX weiterverarbeitet. Diese Methode ist aufwändiger zu warten, pro User gibt es aber nur je einen Datensatz.
Welche der beiden Varianten ist nun die bessere und / oder performantere?
Falls ihr eine bessere Variante sehen würdet, wäre das um so besser
Danke schon im Vorraus an diejenigen, die sich die Zeit für das Lesen und vielleicht eine Antwort nehmen.
Mfg Fab
Ich programmiere gerade ein Wörterabfrageprogramm und ich möchte die Wörter, welche man falsch beantwortet hat in die Datenbank (MySQL) speichern, damit man dann exakt diese nocheinmals abfragen kann. Das Problem, es ist ein Multiusersystem!
Hier stehe ich vor dem Problem, es gibt zwei Varianten bis jetzt und ich weiss nicht, welche die Bessere ist:
1. Variante: Die Tabelle würde so gestaltet:
- id MED_INT <-- Id's
- uid MED_INT <-- die Benutzer-Id's (zeigt auf andere Tabelle)
- cid MED_INT <-- die Kategorie-Id's (zeigt auf andere Tabelle)
- wid MED_INT <-- die Wörter-Id's (zeigt auf andere Tabelle
Hier gibt es für jedes Wort einen eigenen Datenbankeintrag. Bei vielen Benutzern und wachsender Anzahl Wörter gibt das allerdings eine riesige Zahl von Datensätzen.
2. Variante:
- id MED_INT <-- Id's
- uid MED_INT <-- die Benutzer-Id's (zeigt auf andere Tabelle)
- incorrect_words MED_TEXT <-- vereint cid & wid durch Seperatoren getrennt
Hier werden alle Kategorie-Id's und Wörter-Id's durch Seperatoren in einen riesigen String geschrieben und per REGEX weiterverarbeitet. Diese Methode ist aufwändiger zu warten, pro User gibt es aber nur je einen Datensatz.
Welche der beiden Varianten ist nun die bessere und / oder performantere?
Falls ihr eine bessere Variante sehen würdet, wäre das um so besser
Danke schon im Vorraus an diejenigen, die sich die Zeit für das Lesen und vielleicht eine Antwort nehmen.
Mfg Fab
Kommentar