[NEWSboard IBMi Forum]
Seite 1 von 2 1 2 Letzte

Hybrid View

  1. #1
    Registriert seit
    Feb 2001
    Beiträge
    20.695
    Was heißt "beide haben MAINT(*IMMED)"?
    Es geht nicht um die beiden PF's sondern um die LF!
    So wie die Beschreibung aussieht handelt es sich doch um eine LF die 2 PF's als MultiFormat-LF definiert.
    Wie ist hier die MAINT definiert?

    Durch MAINT(*IMMED) wird bei jeder Veränderung einer PF auch der Index sofort gepflegt.
    Bei *REBLD wird der Index beim Open neu erstellt, bei Änderungen aktualisiert und nach dem Close wird nichts mehr gemacht.
    *DLY funktioniert ähnlich, wobei hier nur Änderungen aktualisiert werden. Bei erreichen eines Schwellenwertes wird dann komplett neu aufgebaut.

    *DLY wird eher dann benötigt, wenn eine LF nicht so häufig verwendet wird.
    Die Insert/Update-Rate sinkt, je mehr LF's eben definiert sind, wobei ich auf der AS/400 da weniger Probleme festgestellt habe als bei anderen Datenbanken, 100 LF's sind da noch nicht so zeitkritisch.

    Gelöscht werden die Pfade nur beim DLTF.
    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

  2. #2
    Registriert seit
    Oct 2014
    Beiträge
    19
    Die LF ist auch mit Maint(*immed).

    "Gelöscht werden die Pfade nur beim DLTF."
    Ja klar, werden diese nicht wirklich gelöscht aber
    Hmmm was cached er dann beim ersten Aufruf, oder warum dauert dann der erste Aufruf am nächsten Tag so lange ??? Es wird kein IPL gefahren.

  3. #3
    Registriert seit
    Aug 2001
    Beiträge
    2.928
    Zufällig in der DDS-Beschreibung irgendwo DYNSLT (Dynamic Select) hinterlegt?

    Birgitta
    Birgitta Hauser

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

  4. #4
    Registriert seit
    Oct 2014
    Beiträge
    19
    nein , die LF sieht genauso aus . Habe nur die Namen usw ausgetauscht . Ansonsten 1:1 identisch.

  5. #5
    Registriert seit
    Aug 2003
    Beiträge
    1.508
    Hallo,

    Es gibt verschiedene Gründe warum es beim 1. Mal länger dauern kann:

    Es gibt den QAQQINI Eintrag IGNORE_DERIVED_INDEX.
    *YES: LFs mit Select/Omit werden von der SQE verwendet
    *NO: LFs mit Select/Omit werden von der SQE NICHT verwendet

    Es kann also sein, dass deine LF gar nicht verwendet wird und das System sich einen eigenen temporären Index aufbaut.
    Dieser ist normaler weise bis zum nächsten neustart verfügbar. Nach einem Neustart ist dieser gelöscht.

    Wenn du mit dem DB-Monitor drüber schaust, kannst du erkennen ob z.B. ein temporärer Index verwendet wird.

    Oder Tabelle/Index muss erst mal in den Speicher geladen werden.

    lg Andreas

  6. #6
    Registriert seit
    Oct 2014
    Beiträge
    19
    Was verstehst du unter Neustart ?? Wie gesagt wir fahren hier kein IPL.

    ps: Wir greifen über ein RPGLE-Programm auf die Datei zu .
    keyed setll
    keyed READE
    DOW NOT EOF(DATEI)

    RPG-Programme verwenden doch die Datei die angegeben ist oder ? Oder verwendet RPG im hintergrund noch zusätzliche LF's die beim ersten Aufruf den select auswerten ?
    S FeldC CMP(Lt 60)
    FeldD CMP(NE 'D')


    Ist doch ein unterschied ob ich mit SQL oder mit RPG auf eine Datei zugreife oder ? RPG kennt doch den Optimizer gar nicht oder liege ich da falsch ?

  7. #7
    Registriert seit
    Oct 2013
    Beiträge
    175
    Nicht alle lesen Deine Nachrichten ganz genau, so wie Du die Antworten nicht ganz genau liest.
    Das ist das Lästige an Menschen. :-)

  8. #8
    Registriert seit
    Aug 2003
    Beiträge
    1.508
    Zitat Zitat von CKA Beitrag anzeigen
    ps: Wir greifen über ein RPGLE-Programm auf die Datei zu .
    keyed setll
    keyed READE
    DOW NOT EOF(DATEI)
    OK, dann fallen die SQE "Optimierungen" weg wenn ihr mit Native I/O arbeitet.

    Aber auch ohne IPL und SQL kann es eben daran liegen, dass die Tabelle/LF erst in den Speicher geladen werden muss.
    Wie groß sind denn die entsprechenden LF (in byte ... bzw. GB)?

  9. #9
    Registriert seit
    Oct 2014
    Beiträge
    19
    also die beiden PF haben zusammen 36 GB . Rund 40 Millionen Datensätze .
    Wie gesagt ich verstehe nur nicht wann er den Cache/Speicher oder was auch immer löscht damit er am nächsten Tag alles nochmal neu laden muss .
    Das einzigste was rutergefahren wird ist die Qinter. Aber mit dem kann es doch auch nicht zusammenhängen oder ?

  10. #10
    Registriert seit
    Jul 2001
    Beiträge
    2.713
    Zitat Zitat von CKA Beitrag anzeigen
    also die beiden PF haben zusammen 36 GB . Rund 40 Millionen Datensätze . ...
    Das einzigste was rutergefahren wird ist die Qinter. Aber mit dem kann es doch auch nicht zusammenhängen oder ?
    Und nachts laufen keine Sicherungen, die den Hauptspeicher ein wenig anderweitig belasten? Im Zweifel (wenn die angesprochenen Optimierungsmöglichkeiten nicht greifen, und Ressourcen verfügbar sind) mit SETOBJACC experimentieren.

    -h
    IBM Champion 2022, 2023, 2024, 2025
    Common Europe Advisory Council / Hall of Fame
    http://pub400.com
    visit www.POWERbunker.com for bespoke IBM i hosting

  11. #11
    Registriert seit
    Feb 2001
    Beiträge
    20.695
    Dann schreib doch ein kleines Miniprogramm und lass es als Prestart-Job im QINTER laufen.
    Dies macht nichts anderes als Open der Datei und schlafen bis zum Ende des Subsystems.

    SETOBJACC bringt nur dann etwas, wenn ein eigener Speicherpool verfügbar ist. Ansonsten können die Daten sehr schnell wieder verdrängt werden. Ins besonders, wenn Speicher sowieso schon knapp ist.
    SETOBJACC hat auch den Nachteil, dass die gesamte Datei bzw. der gesamte Index in den Speicher geladen wird. Bei wie hier Millionen von Datensätzen, von denen sicherlich nicht alle benötigt werden, wird dann viel zu viel geladen.

    Was mich noch interessiert:
    Wenn das Programm mehrere Minuten "hängt", was macht die AS/400 dann laut Callstack?
    Ist sie im Indexaufbau oder wo sonst?

    Was die beiden PF's angeht:
    Wird REUSEDLT(*YES) verwendet und sind viele gelöschte Sätze vorhanden?
    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

  12. #12
    Registriert seit
    Mar 2002
    Beiträge
    5.365
    ... eigentlich mag ich mich nicht in Kaffesatz Diskussionen einmischen, aber hier ist wieder mal viel Quatsch im Umlauf:
    - Record level access ist ISAM (index sequential accdess method) oder sequentiell, das geht alles an Query Optrimizer, QAQQINI etc. vorbei
    - bei sequentiellem Zugriff können gelöschte Sätze den Zugriff belasten (wenn am Anfang der Daten ein paarhundert Millionen gelöschte kommen => DSPFD *MBRLIST zeigt die gelöschten an). Cashing Phänomene gibt es da nicht, das ist immer gleich langsam/schnell.
    - Zugriffspfad Aufbau kann durchaus Minuten dauern (wenn die Datenmengen groß sind, der Zugriffspfad teuer ist (viele Felder, berechnete Werte etc.), hier gibt es auch bei RLA caching Phänomene, insbesondere weil Access pathes geshared werden. Hier ist ja schon DYNSLT und maint <> *immed genannt und m.E: nicht eindeutig beantwortet worden.
    - GigaByte und zig Millionen Sätze sind keine großen Datenmengen für aktuelle Hardware, da fängt groß bei einigen hundertmillionen Sätzen und einigen hundert GigyByte an
    - mehrere Minuten zu Beginn eines Programmes sind kein Paging Phänomen, die AS/400 paged sich inkrementell in einen Kontext ein. bei Dateien und Zugriffspfaden sind das Millisekunden, bei Programmen (JVM, schlechtes ACTGRP Design) können das Sekunden sein, niemals Minuten

    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/

Similar Threads

  1. System Performance Analyse und Performance Tuning
    By Bernstein in forum NEWSboard Server Job
    Antworten: 0
    Letzter Beitrag: 05-08-14, 17:34
  2. UDFs und Performance
    By BenderD in forum IBM i Hauptforum
    Antworten: 3
    Letzter Beitrag: 26-05-14, 16:35
  3. IFS-Performance
    By NorBo in forum IBM i Hauptforum
    Antworten: 6
    Letzter Beitrag: 29-04-03, 15:12
  4. Performance
    By mk in forum IBM i Hauptforum
    Antworten: 1
    Letzter Beitrag: 27-06-02, 09:32
  5. Frage zu QRY-Performance
    By hs in forum IBM i Hauptforum
    Antworten: 4
    Letzter Beitrag: 27-08-01, 12:29

Berechtigungen

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