[NEWSboard IBMi Forum]

Hybrid View

  1. #1
    Registriert seit
    Aug 2003
    Beiträge
    1.508
    Zitat Zitat von KingofKning Beitrag anzeigen
    Blöde Frage (déja vu) Wie öffnest Du Visual Explain? Ich habe mir die Auswertung der Ergebnis-Datei mit Query angesehen.GG
    Im System i Navigator. Dort werden die Auswertungen hübscher dargestellt und dort gibt es auch den Visual Explain.
    Deine Verbindung --> Datenbanken --> DeineDB --> SQL Perf. Monitors --> ...

  2. #2
    Registriert seit
    Nov 2003
    Beiträge
    2.403
    Vielleicht kannst du die UDFs optimieren?

    Zum Beispiel, falls sie die gleichen Ergebnisse für die selben Eingabewerte liefern:

    "Use the DETERMINISTIC option on procedures and UDFs that return the same results for identical inputs. This allows the optimizer to cache the results of a function call or order where the function is called in the execution stream to reduce the run time."

  3. #3
    Registriert seit
    Feb 2001
    Beiträge
    20.696
    Das Problem ist und bleibt die Verwendung von UDF-Ergebnissen in Where usw.
    Hier erfolgt halt immer ein Tablescan und ist deshalb nicht optimierbar.
    Deterministic hilft in diesem Fall auch nicht. Dies spart ggf. den Aufruf der UDF aber nicht den Tablescan. Wobei die Anzahl der Caches nicht unendlich ist.
    Durch die Verlagerung in eine View ist das von außen noch nicht mal sichtbar.
    Die UDF wird vor der Prüfung der restlichen Where's aufgerufen!
    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

  4. #4
    Registriert seit
    Aug 2006
    Beiträge
    2.114
    Also wenn ich sehe das die Original Datei mal gerade 72 Mio Sätze hat und der erzeugte Index dann 20.000 Einträge hat braucht der Sasck 2 Minuten 50 um den ersten Satz anzuzeigen.

    Das dumme ist das die UDF wiederum auf eine View zurückgreift.
    Das zu optimieren wird schwierig, vermutlich werde ich jeweils eine Datei erzeugen und die mit join in die Original-Datei einbinden.Nicht schön aber selten.

    GG

  5. #5
    Registriert seit
    Mar 2002
    Beiträge
    5.365
    ... was machen Deine UDFs denn überhaupt?
    AS400 Freeware
    http://www.bender-dv.de
    Mit embedded SQL in RPG auf Datenbanken von ADABAS bis XBASE zugreifen
    http://sourceforge.net/projects/appserver4rpg/

  6. #6
    Registriert seit
    Feb 2001
    Beiträge
    20.696
    SQL verwendet keine Indizes die Einschränkungen aufweisen.
    Deine 20.000 Indexeinträge deuten auf eine Select/Omit-LF hin.
    Diese kannst du im SQL getrost vergessen!

    Besser ist hier ein Index, der die Select/Omit-Felder enthält, der ist dann verwendungsfähig.
    Die View muss dann allerdings hier die Where-Klausel enthalten.
    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

  7. #7
    Registriert seit
    Aug 2006
    Beiträge
    2.114
    Zitat Zitat von Fuerchau Beitrag anzeigen
    SQL verwendet keine Indizes die Einschränkungen aufweisen.
    Deine 20.000 Indexeinträge deuten auf eine Select/Omit-LF hin.
    Diese kannst du im SQL getrost vergessen!

    Besser ist hier ein Index, der die Select/Omit-Felder enthält, der ist dann verwendungsfähig.
    Die View muss dann allerdings hier die Where-Klausel enthalten.
    Den Index den ich erstellt habe hatte nur Sortierangaben, aber keine Einschränkungen

  8. #8
    Registriert seit
    Aug 2006
    Beiträge
    2.114
    Zitat Zitat von BenderD Beitrag anzeigen
    ... was machen Deine UDFs denn überhaupt?
    Wie schon gesagt: Wir setzen die Software RP-Trade für unseren Außendienst ein, und die benötigt natürlich alle möglichen Kundeninformationen.
    Da meine SQL-Kenntnisse nur rudimentär sind, habe ich die Aufgabe in div. Teilaufgaben gesplittet. Sprich eine UDF holt mir die Umsätze des Kunden, eine andere UDF holt mir die Planzahlen, die dritte die letzten Aufträge etc. Ich habe dann eine View erstellt in der ich alle Informationen zusammengefasst habe um daraus eine Text-Datei für den FTP Upload zu erstellen.
    Brigitta könnte sicherlich ein komplexes SQL erstellen das die Aufgabe besser und schneller löst ;-).
    Ich habe gestern nochmals mit dem strdbg experimentiert und spaßeshalber mal den vorgeschlagenen Index angelegt, es ist aber wie von Fuerchau vorhergesagt unnütz da der Index nicht genommen wird.

    Also werde ich wie gesagt die Abfragen (UDFs) in ein CL packen und einzeln ablaufen lassen und die Ergebnisse jeweils in eine Datei stellen die ich dann ohne Performanceverluste in der View integriere.

    GG

  9. #9
    Registriert seit
    Mar 2002
    Beiträge
    5.365
    ... das wären dann doch UDTF (Table Functions) und das sind in den meisten Konstellationen gefürchtete Penner. Das geht doch mit views oder subselects genauso und mit views ist das dann doch einfacher und bei entsprechenden Indexen schneller.
    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. iSeries V5R4 Systemstart
    By roti in forum NEWSboard Server Software
    Antworten: 2
    Letzter Beitrag: 17-02-14, 11:23
  2. V5R4
    By dino in forum IBM i Hauptforum
    Antworten: 9
    Letzter Beitrag: 18-12-13, 13:59
  3. Java auf V5R4 Performance
    By TR1 in forum NEWSboard Java
    Antworten: 1
    Letzter Beitrag: 02-11-13, 14:02
  4. Optimierung SQL Anweisung
    By Cassius in forum IBM i Hauptforum
    Antworten: 3
    Letzter Beitrag: 05-03-02, 19:28
  5. AS/400 - Tuning/Optimierung
    By thomsta in forum IBM i Hauptforum
    Antworten: 3
    Letzter Beitrag: 07-02-02, 10:54

Berechtigungen

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