.
Moin...
Angenommen, man habe eine mysql-Tabelle, in der eine Menge Datensätze gespeichert sind. Jeder besitzt eine 'Parent-ID', durch die er eindeutig als einem anderen Datensatz untergeordnet gekennzeichnet ist (nämlich dem, dessen ID die jeweilige Parent-ID entspricht => Baumstruktur).
Nun würden in den Scripts, die auf diese Tabelle zugreifen, sehr häufig sql-queries ausgeführt werden, die nicht etwa auszugebende Inhalte holen, sondern praktisch nur Suchaufgaben vornehmen, z.b. "SELECT id FROM table WHERE pid = $id" zum Ermitteln der ID des Parent-Elementes eines Elements mit der ID $id)...(ich hoff, es is zu verstehn)
Meine Frage betrifft nun die Performance:
Ist es sinnvoll, für solche Analysen der Datenstruktur eine 'light-Version' der Tabelle bzw. des betreffenden Threads mit einem einzigen Query vorab komplett in den Speicher zu laden (ID, Parent-ID und evtl. Titel des Datensatzes zur Darstellung der Baumstruktur) und eigene Suchfunktionen zu schreiben?
Oder sollte man es bei der Suche per 'Mini-Queries' belassen?
Oder hat jemand womöglich eine andre, bessere Idee?
.
Geändert von Radoo.de (07.09.2003 um 16:31 Uhr)
Hi, und danke für die Antwort
Dazu gibts zu sagen, dass ich ja auch an genau diese Vorgehensweise (vorladen der wichtigen Daten in ein Array) gedacht und sie mittlerweile auch testhalber umgesetzt hab.
Meine Frage war eigentlich bloß, ob das sinnvoller/eleganter/schneller ist als die andere Möglichkeit, jeden einzelnen Wert mit einem einzelnen Query extra aus der DB zu holen.
Die Bearbeitungszeit meiner Scripts als mögliche Entscheidungshilfe hab ich mir nocht angeguckt, möglicherweise wär das auch ne Entscheidungshilfe...mh...(sollt ich vielleicht mal machen.
Das mit dem Cache is auch ganz unabhängig davon ne gute Idee...ich bezweifel bloß, dass das Performancevorteil bei meinem Mini-Vorhaben auch nur in Spuren nachzuweisen wäre...aber ergal, das technische Prinzip is toll.
Dazu fällt mir spontan die Frage ein, wie so ein Caching-System denn erkennt, ob eine Seite neu generiert werden muss oder es den Benutzer auf die bereits vorhandene html-datei verweisen kann.
Und was ist mit den ganzen winzigen Unterschieden (z.b. je angezeigter Benutzername beim eingeloggt-sein), die zwar minimal sind, aber trotzdem jede Seite individuell machen?
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)