[NEWSboard IBMi Forum]
  1. #1
    Registriert seit
    Feb 2001
    Beiträge
    3

    Question Laden von Daten beschleunigen?

    Hallo,

    bei einem SQL-Cobol-Programm welches Daten aus einer sequentiellen Datei liest und auf die Datenbank schreibt, scheint dies mit der Zeit immer lansamer zu werden.

    Obwohl in dem Programm nach einem vorgegebenen Zeitintervall ein COMMIT abgesetzt wird und auch alle(!) nötigen Indizes angelegt wurden.

    Die sequentielle Datei hat eine Größe von knapp 150000 Sätzen und diese werden von einer Root-Datei mit ca. 3700 Root-Sätzen auf zwei abhängige Tabellen verteilt.

    Lohn es sich eigentlich das Journaling auszuschlalten bei einem solchen Batchlauf und geht das überhaupt?

  2. #2
    Registriert seit
    Jan 2001
    Beiträge
    340

    Post

    committment control geht nicht ohne journalling, man muß also beides abschalten. Ob das sinnvoll ist, kann nur im Einzelfall entschieden werden. Bei einem batch-job, der im Fehlerfall beliebig widerholt werden kann, könnte es Sinn machen.

    Gruß Rolf

  3. #3
    Registriert seit
    Feb 2001
    Beiträge
    3

    Post

    Hallo Rolf,

    vielen Dank für den Tipp.

    Wenn Du schreibst ich muß auch das Commitment-Control ausschalten, meinst Du damit die Commit-Steuerung des Jobs oder den Commit-Befehl im Programm?

    Gruß,
    Marc

  4. #4
    Registriert seit
    Feb 2001
    Beiträge
    20.236

    Post

    Das Abschalten des Journals löst warscheinlich nicht Ihr Problem (Abschalten heißt nicht nur Beenden der Aufzeichnung, sondern auch kein STRCMTCTL und kein COMMIT im Programm). Sie handeln sich ggf. ein Wiederanlaufproblem ein und andere Programme, die auf diese Dateien zugreifen müssten auch ohne COMMIT arbeiten.

    Meine Erfahrung bisher zeigt, dass das Journaling nie die Ze***robleme verursacht hat.

    Wenn Sie die sequentielle Datei ggf. updaten (z.B. Verarbeitungs-KZ setzen, o.ä.) ist der Update das Problem, wenn Sie einen separaten UPDATE-Befehl verwenden. Hat die sequentielle Datei nämlich keinen Schlüssel, müssen alle Sätze durchsucht werden.

    Sie können alternativ einen SELECT ... FOR UPDATE verwenden um den gerade verarbeiteten Satz zurückzuschreiben. Dies geht erheblich schneller, da die DB/400 in diesen Fällen immer über die relative Satznummer geht.

    Ausserdem sollten Sie einen COMMIT nicht zeitgesteuert durchführen sondern Datenabhängig, d.h., dass alle Daten, die zu einer konsistenten Transaktion gehören, sollten committed werden. (Ein COMMIT-Zyklus darf ca. 540.000, früher nur 32000, Operationen nicht übersteigen, da sonst automatisch ein ROLLBACK durchgeführt und das Programm abgebrochen wird.)
    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

  5. #5
    Registriert seit
    Aug 2001
    Beiträge
    2.873

    Post

    Hallo Marc,

    werden in der sequentiellen Datei Sätze gelöcht, bzw. sind gelöschte Sätze vorhanden?

    In diesem Fall sollten die gelöschten Sätze mit RGZPFM entfernt werden. Bei der sequentiellen Verarbeitung per SQL werden nämlich auch alle gelöchten Sätze gelesen, wodurch die Verarbeitung mit der Zeit langsamer wird.

    Werden die Sätze aus der sequentiellen Datei nur eingelesen, sollte im SQL-Befehl "For Read only" oder "For Fetch only" angegeben werden.

    Vielleicht kommst Du damit weiter.

    B. Hauser
    Birgitta Hauser

    Anwendungsmodernisierung, Beratung, Schulungen, Programmierung im Bereich RPG, SQL und Datenbank
    IBM Champion seit 2020 - 4. Jahr in Folge
    Birgitta Hauser - Modernization - Education - Consulting on IBM i

Similar Threads

  1. Jobs beschleunigen
    By Blaumeise in forum IBM i Hauptforum
    Antworten: 24
    Letzter Beitrag: 21-11-06, 15:33
  2. Antworten: 6
    Letzter Beitrag: 26-07-06, 12:22
  3. IFS Datei Daten hinzufügen
    By sim in forum NEWSboard Programmierung
    Antworten: 11
    Letzter Beitrag: 18-05-06, 08:00
  4. Antworten: 1
    Letzter Beitrag: 24-04-06, 10:37
  5. Daten Import Tool + Dublettensuche für i5 CRM
    By Heinz Molter in forum Archiv NEWSblibs
    Antworten: 0
    Letzter Beitrag: 31-08-04, 09:48

Berechtigungen

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