Mailinglisten-Archive |
> -----Original Message----- > From: php-admin_(at)_phpcenter.de [mailto:php-admin_(at)_phpcenter.de]On Behalf Of > Arash Yalpani > Sent: Thursday, March 22, 2001 3:20 PM > To: 'php_(at)_phpcenter.de' > Subject: [php] AW: [php] Re: [php] OT?: Designrätsel > > hi, Hi Arash, > > Falls es man mit Java > > realisieren > > wuerde, haette man sagen koennen, ok, dieses Array wird eim > > mal erstellt > > und befindet sich im Speicher, alle die es brauchen, hollen's einfach. > > Aber mit PHP ist so ein Szenario nicht einfach realisierbar wenn > > ueberhaupt. > > Wie sähe es denn mit Shared Memory aus? Könnte man so etwas nicht > dort auslagern? Theoretisch ja, praktisch kann nix sagen - keine Erfahrung in diesem Bereich. > Und überhaupt: Auf jeder aufgerufenen Seite ein > Array mit 500 Einträgen a ca. 100-200 Byte zu füttern kann doch > nicht so viele Ressourcen fressen oder vertue ich mich da? Jain, was ein Array mit 500 Entraegen im Speicher belegt, weiss ich nicht(IMHO wesentlich mehr als 200 Bytes), aber um dieses Array zu erstellen braucht man (wenigstens meine Funktionen) relativ viel Zeit, weil das ganze Zeug mit GET-Parametern (Node auf Ebene 4 wurde aufgeklappt, welche Vater-Nodes muessen mitaufgeklappt werden, etc.) auch berechnet wird. Ganz allgemein, wie koennte diese Vorgehensweise aussehen (20 Nodes anzeigen)? 1. Alle 500 aus DB holen, Array erstellen. (Loop Nr 1 mit 500) 2. Array bearbeiten (min. 1 Loop mit 500 und mit rekursiven Aufrufen) 3. Array ausgeben (noch 1 Loop, allerdings nicht mit 500, sondern mit mehreren if's fuer notwendige Anzeige) Koennte natuerlich bisschen anders sein, aber vom groben Prinzip ist diese Beschreibung korrekt. Also, bestenfalls haben wir 2 Schleifen, die das gesamte Array durchgehen und jede Menge if's dabei. Haetten wir anstatt 500 nur 20 geholt, dann wuerde das Ganze wesentlich besser aussehen. Ich weiss nicht, fuer mich ist diese Frage ganz eindeutig gegessen - die ganze Logik soll auf SQL-Ebene stattfinden, wie viele Seiten dann letzendlich und tatsaechlich zur Anzeige zurueckgeliefert werden muessen. Ausser man kriegt Shared Memory Story zum Laufen. Gruss, Juri
php::bar PHP Wiki - Listenarchive