[NEWSboard IBMi Forum]

Hybrid View

  1. #1
    Registriert seit
    Sep 2006
    Beiträge
    23
    Hallo zusammen,

    ich habe es nun folgendermaßen gelöst:

    Ich habe 2 Arrays erstellt.
    1 Statisches mit DIM(1000) und ein dynamisches, in dem sich das statische befindet.

    Ich arbeite nun beim Blättern das statische Array ab. Sobald ich das letzte Element erreicht habe hole ich mir die nächsten 1000 Sätze per Blockfetch in mein Dynamisches Array.

    Möchte der Anwender nun Positionieren, Beginne ich im 1. Element des Dynamischen Arrays und prüfe das letzte Element des Statischen Arrays ab. Ist dies größer(entsprechend Sortierung) als die Eingabe des Anwenders, befinde ich mich im korrekten Element des Dynamischen Arrays. Ist es kleiner(entsprechend Sortierung) prüfe ich das nächste Element ab.

    Sobald ich mich im richtigen Element des Dynamischen Arrays befinde, prüfe ich das Statische Array ab.

    Hierzu prüfe ich zuerst das mittlere Element ab, ob es größer als die Eingabe ist. Ist dies der Fall fange ich ab Position 1 an, ansonsten ab Position 500 und prüfe jedes Element ab.



    Diese Lösung braucht zum Aufbau des Resultsets ca. 5 sek. Beim 1. Positionieren (bis das komplette Resultset im Array ist) ca. 7 sek.
    Ab dann positioniere ich innerhalb weniger sekunden.


    PS: Da ich in meinem Array nur die Keyfelder habe und mir erst beim füllen des Subfile die weiteren inforamtionen hole, habe ich auch immer aktuelle Daten. Ausnahme ist natürlich wenn ein Satz hinzugefügt wird. Hier muss der Anwender via F5 aktualisieren. Sollte ein Satz gelöscht werden wird dies mit einer meldung (*GELÖSCHT*) gekennzeichnet.


    Ich danke euch allen fürs mitdenken und für die hilfe

    Schönen Gruß

  2. #2
    Registriert seit
    Mar 2002
    Beiträge
    5.387
    Zitat Zitat von Klabautermann Beitrag anzeigen
    Hallo zusammen,

    ich habe es nun folgendermaßen gelöst:

    Diese Lösung braucht zum Aufbau des Resultsets ca. 5 sek. Beim 1. Positionieren (bis das komplette Resultset im Array ist) ca. 7 sek.
    Ab dann positioniere ich innerhalb weniger sekunden.
    Schönen Gruß
    ... das sind völlig unzureichende Antwortzeiten, beschreibe dochmal genau, was der Anwender haben will, was er eingibt und was er dann bekommen soll. Ich bin sicher, dass es da was wesentlich schnelleres geben muss!!!

    D*B
    AS400 Freeware
    http://www.bender-dv.de
    Mit embedded SQL in RPG auf Datenbanken von ADABAS bis XBASE zugreifen
    http://sourceforge.net/projects/appserver4rpg/

  3. #3
    Registriert seit
    Feb 2001
    Beiträge
    20.769
    Da bin ich aber auch der Meinung, dass das inakzeptabel ist.
    Wie gesagt, bei korrekter Erstellung eines Index für die Where/OrderBy-Klausel sollte der Zugriff erheblich schneller sein.
    Außerdem macht es keinen Sinn, die Daten selber noch mal in einem Array zu halten, da doch die Subfile bereits im Speicher (der DSPF) liegt.
    Dienstleistungen? Die gibt es hier: http://www.fuerchau.de
    Das Excel-AddIn: https://www.ftsolutions.de/index.php/downloads
    BI? Da war doch noch was: http://www.ftsolutions.de

Similar Threads

  1. Resultset aus Stored Prozedure in SQLRPGLE
    By cimbala in forum IBM i Hauptforum
    Antworten: 7
    Letzter Beitrag: 28-04-09, 22:53
  2. SQL Stored Procedures u. ThreadSafety
    By axl in forum NEWSboard Programmierung
    Antworten: 18
    Letzter Beitrag: 19-08-08, 18:19
  3. MSSQL SERVER 2000
    By Corraggiouno in forum NEWSboard Programmierung
    Antworten: 22
    Letzter Beitrag: 09-05-05, 09:28
  4. Window variabel positionieren
    By peter.kinne in forum IBM i Hauptforum
    Antworten: 1
    Letzter Beitrag: 03-01-05, 12:05
  5. Sql schön positionieren
    By Psicopatico in forum NEWSboard Programmierung
    Antworten: 12
    Letzter Beitrag: 30-09-04, 15:10

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • You may not post attachments
  • You may not edit your posts
  •