Moin!
Ich glaub nicht das ich ein Problem mit dem Design der Datenbank habe.
In der Haupttabelle sind 16 Felder die nur eine id einer anderen Tabelle enthalten und bei Bedarf abgefragt werden. Ich bin der Meinung das es so sinnvoll ist die Datenbank "klein" zu halten. Es war eigentlich nie gedacht alle Datensätze mit allen lesbaren Daten auf einmal abzufragen.
Pro Zeile sind das 16 zusätzliche Abfragen, mache ich das schon seit Jahren falsch?
Naja, die Frage ist doch: Wenn du 16 Spalten hast, und zu jeder dieser Spalte nochmal eine weitere Translation-Tabelle, die die ID der Spalte in einen sinnvollen Wert übersetzt, dann mag das aus Sicht der Normalisierungsfetischisten vermutlich gute Arbeit sein - aber man kann es auch übertreiben.
Und der zweite prüfenswerte Punkt: Hast du Indices gesetzt? Was sagt EXPLAIN zu deinem Gesamtquery mit allen JOINs? 15.000 Einträge sind nämlich eigentlich winzig wenig, da sollte es eigentlich keinen wirklichen Grund geben, warum ein Skript in irgendeine Laufzeitbegrenzung rennen sollte.
- Sven Rautenberg