phpbar.de logo

Mailinglisten-Archive

[php] Daten 'de-normalisieren'

[php] Daten 'de-normalisieren'

Andreas Ahlenstorf lists at ahlenstorf.ch
Don Mai 20 12:26:23 CEST 2004


Hallo zusammen!

Ich habe eine Reihe von Datensätzen, denen man Eigenschaften
zuweisen kann, teilweise auch mehrere Eigenschaften aus derselben
Tabelle. Das führt dazu, dass wenn ich keine Aggregatsfunktion
(GROUP BY $datensatz_id oder SELECT DISTINCT) benutze, für jede
Resultatskombination einen Datensatz bekomme. Nun ist es so, dass
ich für eine Übersicht alle Informationen zu einem Datensatz
brauche, was ich bisher meistens elegant umschiffen konnte. Meine
Ansätze, um das zu lösen:

a) Für jeden Datensatz die anderen Tabellen mit eigener Query
   befragen
b) Alle Datensätze mit PHP "zusammenschreiben"

Variante a) drückt mir die Performance in den Keller. Für 11
Datensätze 34 Queries ist Mist. Variante b) ist einigermassen
verträglich, ich kann aber LIMIT nicht in Verbindung mit der
Anzahl effektiven Datensätzen in Verbindung bringen, wobei mir,
je mehr Datensätze verfügbar sind, die ganze Applikation auch
in die Knie geht und der Speicher voll wird.

Summa summarum: Hat jemand eine gute Idee, wie ich das lösen
kann, ohne viel Geschwindigkeit zu verlieren? Caching ist keine
Lösung :) MySQL-only-Lösungen werden akzeptiert, wobei ich gerne
etwas hätte, das auch mit anderen RDBMS funktioniert.

Gruss,
Andreas
-- 
Es reicht nicht, keine Meinung zu haben!
Man muss auch unfähig sein, sie zu äussern!


php::bar PHP Wiki   -   Listenarchive