Beitrag von hempelr (1976 Beiträge) am Dienstag, 8.Juli.2003, 16:44.
Re: einen bestimmten Datensatz aus einer get-Abfrage bzw. deren hash ausgeben
Hallo, Michael,
wie meinst du das mit alle Datensätze im RAM halten? - du willst ohne neuen Zugriff und ohne neues get alle Datensätze einer DB in nem hash haben?
naja - da wäre dann doch aber der Sinn von baseportal eigentlich dahin, du machst dann ne eigene Datenverwaltung in deinem Template.
Ausserdem ist es doch so, dass du mit dem get auf einen bestimmten Datensatz diesen dann auch bekommst - und das doch recht flott - das ist ja einer der Vorteile von baseportal anderen Systemen gegenüber....
Ausserdem würde ja, wenn du alle Datensätze einer DB in einen Hash schreibst, ein enormer Arbeitsspeicherverbrauch stattfinden (wenn die DB und deren Inhalt recht gross sind); da swappt dann der Webserver eh wieder auf die Festplatte aus und du hast alle erhofften Geschwindigkeitsvorteile wieder verspielt.
Du kannst doch immer mit allen Datensätzen arbeiten, wo wie du selber geschrieben hast.
Wenns nur um geringe Datenmengen geht ist das auch in einen Hash machbar, indem du dir einen eigenen Hash mit den Schlüsselwerten des Feldnamen und einem Zählerindex baust oder mit dem Schlüssel ID und den Feldern und Werten in ner Liste als zugehörigem haswert in der while_get_next-Schleife aufbaust.
Dort kannst du dann über die Id die Liste mit Feldern und Werten als Key-Wertpaar direkt auslesen und über bspw. split zerlegen und hast dann wieder deinen Datensatz.
Der Ergebnishash, der im get angegeben wird ist wohl so nicht direkt ansprechbar (weiss ich aber nicht genau...) und zur internen Identifikation von baseportal beim Holen von Datensätzen aus mehreren DBs in einem Template / Script gedacht (hab ich jedenfalls so verstanden).
Mir stellt sich nur die Frage, wozu das gut sein soll - bringt m.E. kaum Vorteile (gut, weiss ja nicht, was du machen willst...)
HTH
Ruben