[NEWSboard IBMi Forum]

Hybrid View

  1. #1
    Registriert seit
    Aug 2001
    Beiträge
    2.928
    Ich denke wir können jetzt noch lange herumphilosphieren, ohne die tatsächliche Umgebung zu kennen (Anzahl Datensätze, Zugriffswege, IBM i Release etc.) können wir nur im Dunkeln tappen.

    Vielleicht noch eine Anmerkung:
    Wenn ich die Abfrage richtig interpretiere wird zumindest an einer Stelle (DNPTRNL17) auf eine logische Datei zugegriffen.
    Mit SQL sollte ausschließlich auf Tabellen/physische Dateien und Views zugegriffen werden.
    Beim Zugriff auf eine logische Datei wird die Abfrage zunächst vom Query Optimizer umgeschrieben. Dabei wird das DDS der logischen analysiert und dann die Feld-Auswahl, Join-Anweisungen und SELECT/OMIT-Anweisungen ausgelesen. Im Anschluss daran wird die Abfrage basierend auf der physischen Datei und den DDS Informationen der logischen neu geschrieben.
    Erst dann erfolgt die Optimierung. An dieser Stelle ist nicht mehr bekannt, dass ursprünglich eine logische Datei angegeben war.
    Wenn der Zugriffsweg der logischen Datei in der Abfrage verwendet wird, ist das nichts weiter als Zufall.
    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

  2. #2
    Registriert seit
    Sep 2004
    Beiträge
    360
    Danke für die konstruktiven Antworten.
    Ich baue nun das SQL auf das exists statement um, weil die OR Verknüpfung sicherlich nicht gut ist.
    Das könnte schon das Problem gewesen sein. Echt blöd ist halt, dass sich RPG mal wieder anders verhält als der Rest. Ich gehe immer so vor, dass ich mir das SQL im Visualizer oder ACS Editor baue und auch auf Performance hin teste und dann ins RPG übertrage. Klar wird dann dort auch noch einmal ein Test gemacht, aber bei den vielen Selektionsauswahlen kann man nicht alle Kombinationen testen, das darf dann der User tun.
    @Brigitta, ja das stimmt mit der logischen. Hier greift sich der Optimizer eh was er gerne hätte. Ist geändert.

  3. #3
    Registriert seit
    Aug 2006
    Beiträge
    2.114
    Zitat Zitat von B.Hauser Beitrag anzeigen
    Mit SQL sollte ausschließlich auf Tabellen/physische Dateien und Views zugegriffen werden.
    Beim Zugriff auf eine logische Datei wird die Abfrage zunächst.....
    Erinnert mich ein wenig an Deinen Artikel vor genau einem Jahr. Wobei mein Kleinhirn noch nicht den Unterschied zwischen LF und View erkannt hat. (Außer evtl. Schlüssel) Ist aber auch nicht so wichtig, da ich nur mit tausenden Datensätzen zu tuen habe und mit Kisten die schon > 10 Jahre sind viele auch älter 20 Jahre.
    https://midrange.de/sql-indices-anst...ien-verwenden/

    GG 3735

  4. #4
    Registriert seit
    Feb 2001
    Beiträge
    20.695
    LF = DDS-View (Select/Omit/Index, Joins)
    View = SQL-View (Full-Select where, kein Index)
    Index= SQL-Index (kann aber where enthalten und ist dann eher mit der LF vergleichbar)

    RPG/LE wird grundsätzlich vom SQL als Batch interpretiert.
    ACS/STRSQL eben als Dialog mit unbekannten, nicht öffentlichen, Zusatzeinstellungen.
    Ggf. weiß die SQL-Engine, wer da was abfragt und optimiert dann anders.

    Die Debugnachrichten unterscheiden sich da schon mal zwischen STRSQL oder embedded SQL.
    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
    Nov 2020
    Beiträge
    418
    Die Debugnachrichten liefern auch nicht alle Informationen die es für diese Abfrage gibt.
    Dafür wäre ein Monitor sinnvoll.
    Im RPG hast du z.B. die Möglichkeit mit SET OPTION bestimmte Einstellungen für den Kompiler vorzugeben.
    Je nach Einstellungen (und davon gibt es einige), kann sich das verhalten ändern.
    RPG hat seine Default-Einstellungen und der ACS/STRSQL & Co können ebenfalls ihre eigene Default-Einstellungen haben.
    Den tatsächlichen Unterschied, kann man via Monitor vergleichen und dann sieht man woran es liegen könnte.

    lg Andreas

Similar Threads

  1. Drucker und iSeries ... das ewig leidige Thema
    By Flappes in forum NEWSboard Drucker
    Antworten: 3
    Letzter Beitrag: 01-02-17, 13:06
  2. JAVAMAIL braucht ewig
    By Chris.jan in forum IBM i Hauptforum
    Antworten: 6
    Letzter Beitrag: 06-06-16, 13:57
  3. Telnet connection dauert extrem lange
    By Mr-Ferret in forum IBM i Hauptforum
    Antworten: 3
    Letzter Beitrag: 28-02-14, 10:35
  4. SAVSECDTA mit BRMS dauert sehr lange
    By Peter Kosel in forum IBM i Hauptforum
    Antworten: 1
    Letzter Beitrag: 27-11-02, 11:32
  5. FTP Anmeldung dauert ewig!
    By cassandra in forum IBM i Hauptforum
    Antworten: 8
    Letzter Beitrag: 10-09-02, 15:01

Berechtigungen

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