[NEWSboard IBMi Forum]

Hybrid View

  1. #1
    Registriert seit
    Jul 2005
    Beiträge
    232
    So, lange Analyse, und im Endefeffekt einige Statements von gut 1 min Laufzeit auf unter 1s gedrückt. Das Problem sind die Statements selbst. Und hat auch nichts mit den Aliasnamen zu tun. Der Optimizer der AS400-DB2 scheint schlechter zu arbeiten als der LINUX-DB2 Optimizer. Denn der zeigt bessere Ergebnisse und verwendet auch bei gleichen Tabellen / Indizes solche.
    Beispiel :

    SELECT A.FLD1, A.FLD2, A.FD3, B.FLD1, B.FLD2
    from TABELLE1 A, TABELLE2 B where A.FLD1 = B.FLD1
    and B.FLD2 in (select C.FLD2 from TABELLE3 WHERE C.FLD3 = X and C.FLD4 = y)

    Soweit sogut.Viele Tests mit Views / Indizes haben nix gebracht. Das Statement anders formuliert geht granatenschnell.

    SELECT A.FLD1, A.FLD2, A.FLD3, B.FLD1, B.FLD2, C.FLD3, C.FLD4
    from TABELLE3 C, TABELLE1 A, TABELLE2 B
    where A.FLD1 = B.FLD1
    and B.FLD2 = C.FLD2C.FLD2
    where C.FLD3 = X and C.FLD4 = y

    Und jetzt kommts : Wenn ich in der FROM-Klausel die Tabellenreihenfolge ändere (Tabelle C weiter hinten) dann wirds wieder wesentlich langsam.

    SELECT A.FLD1, A.FLD2, A.FD3, B.FLD1, B.FLD2, C.FLD3, C.FLD4
    from TABELLE1 A, TABELLE2 B, TABELLE3 C
    where A.FLD1 = B.FLD1
    and B.FLD2 = C.FLD2C.FLD2
    where C.FLD3 = X and C.FLD4 = y

    Anders ist die Datenbank nicht zur performanten Zusammenarbeit zu bewegen. Eigentlich fast logisch, denn die Ergbnismenge von C ist (in diesem Fall) die kleinste. Dabei handelt sich aber um eine Tabell mit gut 1.000.000 Datensätzen

  2. #2
    Registriert seit
    Mar 2002
    Beiträge
    5.392
    Hallo,

    so nach dem Urlaub noch ein paar gesammelte Anmerkungen:
    - der Query Otimizer (besser Pessimizer) ist milde ausgedrückt wirklich nicht der beste
    - falls es sich um V5R3 handelt, spricht vieles für einen Bug, egal welches Phänomen zu beobachten ist.
    - alles was Rekursion beinhaltet ist meist langsam und kann durch Umformulierung in einen Join (soweit möglich) schneller gemacht werden
    - Feldnamen sollte egal sein
    - unter 50 Indexen sollte der Pessimizer locker fertig werden, sonst ist was anderes faul.
    - Indexe werden ignoriert, wenn die CCSID nicht matched
    - bei JDBC gab es auch schon Probleme mit dem extended dynamic package support
    - die Begeisterung über die neue Query Engine kann ich nicht teilen, da habe ich Verbesserungen nur beim parallel Database Feature gesehen und vieles andere, was schlechter geworden ist, sieht alles sehr nach Beta Version aus.
    - für die Telnet Problematik: da könnte man auch den Debug aktivieren (per Driver Option? habe ich nicht im Kopf) oder per stored Procedure Aufruf, oder per STRSRVJOB - dann werden die Diagnostics ins Joblog gemalt.
    - zu Visual Explain fällt mr nur ein, dass ich die Schnittmusterbogen meiner Oma auch nie verstanden habe.

    mfg

    Dieter Bender
    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.798
    Seit der Umstellung auf V5R3 kann ich bezüglich dem Pessimzer Dieter nur zustimmen. Die geschätzten Abfragezeiten sind teilweise um Faktor 1000 - 10.000 zu hoch !!!

    Da wird eine Abfrage (mit Union-Select über ca. 2 Mio Sätze) mit über 100.000 Sekunden geschätzt wobei die tatsächliche Abfrage dann nur ca. 15 Sekunden benötigt.

    Es gibt allerdings kurzfristig eine Umgehung:

    Wird eine LF (mit DDS und keine SQL-VIEW) mit SELECT/OMIT erstellt erzwingt man die Verwendung des alten Optimizers und siehe da, plötzlich werden die Zugriffspfade wieder korrekt verwendet und die Zeiten liegen "nur noch" um Faktor 10-100 daneben.

    Allerdings konnte IBM keine Aussage treffen, ab wann der neue "Optimizer" auch LF's mit Select/Omit berücksichtigt. Es kann also mit irgendeinem PTF/Update plötzlich wieder zu pessimistischen Zeitschätzungen kommen.
    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. RPGLE - SQL
    By christian_lettner in forum NEWSboard Programmierung
    Antworten: 2
    Letzter Beitrag: 16-11-06, 11:15
  2. SQL - Cursor vernichten ?!?
    By FNeurieser in forum NEWSboard Programmierung
    Antworten: 3
    Letzter Beitrag: 11-10-06, 15:53
  3. SQL Performance
    By mariupol1963 in forum IBM i Hauptforum
    Antworten: 9
    Letzter Beitrag: 11-08-06, 14:06
  4. SQL .. for update of (RPG embedded SQL)
    By loeweadolf in forum NEWSboard Programmierung
    Antworten: 2
    Letzter Beitrag: 01-06-06, 10:43
  5. embedded SQL Performance Problem mit SCROLL
    By itec01 in forum IBM i Hauptforum
    Antworten: 9
    Letzter Beitrag: 16-09-04, 19:38

Berechtigungen

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