Hamster: MySQL Performance

Beitrag lesen

Es geht um eine Befragung von ca. 150-300 Fragen unterschiedlicher Anwortmöglichkeit meistes int-Werte oder Text.

Dann würde ich auf ein Datenbankdesign der Art

Benutzer:
Benutzer_ID
Benutzer_Name
...                               -- weitere Angaben zum Benutzer

Benutzer_Antworten:
Benutzer_Antworten_ID
Benutzer_Antworten_Benutzer_ID
Benutzer_Antworten_Antworten_ID

Antworten:
Antworten_ID
Antworten_Text
Antworten_Text_Zaehler            -- "int-Werte"
...                               -- weitere Angaben zur Antwort

Antworten_Fragen:
Antworten_Fragen_ID
Antworten_Fragen_Antworten_ID
Antworten_Fragen_Fragen_ID

Fragen:
Fragen_ID
Fragen_Text
...                               -- weitere Angaben zur Frage

tippen wollen, d.h. Du hältst in der Tabelle "Fragen" die Fragen, in der Tabelle "Antworten" alle möglichen Antworten auf alle möglichen Fragen und in der Tabelle "Benutzer" die Benutzer. Zwischen "Benutzer" und "Antworten" sowie zwischen "Fragen" und "Antworten" scheint mir eine "n:m"-Beziehung zu bestehen.
Ich hoffe, dass die verwendete Namensgebung intuitiv genug ist.

Die ganze Sache findet im LAN statt, auf einem MySQL 5  Server mittels PHP. Ca. 150 Leute machen das über den Tag verteilt, bis zu 24 Personen gleichzeitig.

Performanceprobleme sehe ich nicht, eher Implementierungsprobleme, s.o.. ;)

Ist es performancemässig sinnvoll für jede Frage eine eigene Tabelle mit den Antworten aller Personen zu erstellen ?

Nein, s.o..

Ist ist davon auszugehen, dass die Personen versetzt die Fragen beantworten.

Ja!! (man beachte das zweite "!" ;)