Re: einen bestimmten Datensatz aus einer get-Abfrage bzw. deren hash ausgeben - baseportal Forum - Web-Anwendungen einfach, schnell, leistungsfähig!
baseportal
English - Deutsch "Es gibt keine dummen Fragen - jeder hat einmal angefangen"

 baseportal-ForumDie aktuellsten 10, 30, 50, 100 Einträge anzeigen.  

 
 Ausgewählter Eintrag: Zur Liste 
    Beitrag von Raphael (267 Beiträge) am Dienstag, 8.Juli.2003, 15:36. WWW: www.coderarena.de
    Re: einen bestimmten Datensatz aus einer get-Abfrage bzw. deren hash ausgeben

      überschreibt sich der hash denn nicht von selber!?

      cu, raphael


    Antworten

 Alle Einträge zum Thema: Zur Liste 
    Beitrag von MichaelB (157 Beiträge) am Dienstag, 8.Juli.2003, 14:04.
    einen bestimmten Datensatz aus einer get-Abfrage bzw. deren hash ausgeben

      Hi Forum,

      mit der Abfrage:

      get "Id==*", "Kunden", "probe";
      

      hole ich alle Datensätze aus der DB Kunden und schreibe sie in den hash "probe"

      Jetzt möchte ich aus diesem hash "probe" einen Datensatz ausgeben. den Datensatz bei dem das Feld "Name" den Wert "Maier" enthält.
      Wie mach ich das??????

      (mir ist schon klar, daß mit der Abfrage get "Name==Maier" ... ich den Datensatz auch erhalte, möchte aber gerne alle Datensätze im RAM halten und damit arbeiten!)

      Vielen Dank im vorraus

      Michael

     Antworten

    Beitrag von Raphael (267 Beiträge) am Dienstag, 8.Juli.2003, 15:36. WWW: www.coderarena.de
    Re: einen bestimmten Datensatz aus einer get-Abfrage bzw. deren hash ausgeben

      überschreibt sich der hash denn nicht von selber!?

      cu, raphael

     Antworten

    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

     Antworten

    Beitrag von MichaelB (157 Beiträge) am Mittwoch, 9.Juli.2003, 09:02.
    Re: einen bestimmten Datensatz aus einer get-Abfrage bzw. deren hash ausgeben

      Hallo Ruben,

      unser Problem ist folgendes:

      in DB1 steht z.B. eine Kundennummer und weitere Angaben eines Bestellvorganges (Produktnummer, Datum , Menge, ...). In DB2 stehen die Kundendaten (Name usw.). Die Produkte wiederum stehen in DB3.

      Wir brauchen nun eine Liste welcher Kunde (mit Ausgabe des Namens, Ort ...) wie oft mit welchem Umsatz bestellt hat.
      Jetzt kommt das eigentliche Problem: sortiert nach Produkt, Datum, Umsatz oder Name oder anderen Kriterien.

      Im Moment schreiben wir die Angaben aus den verschiedenen DBs in eine extra Datenbank und werten diese aus. Ein Script mit 1500 Kunden und 5000 Bestellvorgängen läuft so ca. 20 Minuten!!!! (das kommt durch das ständige hin- und herspringen zw. den DBs und schreiben/lesen aus der Auswertungs-DB). Dieses Script läuft also auf keinem öffentlichen Server!

      Gruß Michael

     Antworten

    Beitrag von hempelr (1976 Beiträge) am Samstag, 12.Juli.2003, 13:54.
    Re: einen bestimmten Datensatz aus einer get-Abfrage bzw. deren hash ausgeben

      hallo, michael,
      mhm - das sieht nach einer nicht ganz trivialen Lösung aus....
      Hab mir zwar mal paar Gedanken dazu gemacht aber so richtig hab ich auch keine Idee - das wäre wahrscheinlich mit ner SQL-DB nicht so kompliziert....(bin aber auch kein SQL-Profi!)
      Ich weiss nicht, ob man da nicht vielleicht verschiedene Auswertungstemplates machen könnte, jeweils nach dem ersten interessierenden Einzelkriterium, also meinetwegen:
      Kunde XY hat, sortiert + gruppiert nach Datum mit Gruppensumme, sortiert nach Artikelnummer bestellt -> würde Auswertung nach Kunden-Bestelldatum-Artikel zulassen und evtl. ein Portfolio für den Kunden generieren lassen
      Für so nen Konstrukt wäre m.E. die Zugriffsgeschwindigkeit von bp innerhalb von definierten gets in while-get-next schleifen für einen bestimmten Kunden (um hier beim Beispiel zu bleiben) ausreichend.
      Es ist nach meiner Erfahrung immer wichtig, soviel wie möglich eindeutige Bedingungen ins get zu packen (sortierte, damit indizierte Felder), unbedingt "leere" also auf nicht erwünschte Datensätze angewandte Durchläufe in der DB vermeiden. Da kann man dann auch in while_get_next-Schleifen weitere gets und while-get-nexts nutzen - bei deinem obigen Beispiel beträfe das ja wahrscheinlich halt 3 Ebenen.
      CU
      Ruben

     Antworten

    Beitrag von dslkjfdsf (1 Beitrag) am Freitag, 18.Juli.2003, 10:17. WWW: kjdfka
    Re: einen bestimmten Datensatz aus einer get-Abfrage bzw. deren hash ausgeben

      kjksadjfsadklöfjreifdfsgjkdslaögjiosaljq

     Antworten


     
 Liste der Einträge von 36451 bis 36601:Einklappen Zur Eingabe 
Neueste Einträge << 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | Neuere Einträge < Zur Eingabe  > Ältere Einträge | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 >> Älteste Einträge


Zurück zur Homepage

© baseportal.de. Alle Rechte vorbehalten. Nutzungsbedingungen



powered in 0.05s by baseportal.de
Erstellen Sie Ihre eigene Web-Datenbank - kostenlos!