[NEWSboard IBMi Forum]

Hybrid View

  1. #1
    Registriert seit
    Sep 2005
    Beiträge
    79

    tiefe Verneigung

    Das war´s.
    Und sooooo einfach.

    Die ganze Literatur ersetzt nicht die Möglichkeit eine Frage zu stellen.

    Eine hab ich noch!
    Soll generell DISTINCT bei subselects für die IN-Klausel verwendet werden?

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

    frei nach Theorie ist das Banane, weil SQL nach dem Kohl Prinzip arbeitet, aber ein Index für den Subselect sollte ohnehin da sein und dann kanns eher nutzen als schaden.

    mfg

    Dieter Bender

    Zitat Zitat von Armin Beitrag anzeigen
    Das war´s.
    Und sooooo einfach.

    Die ganze Literatur ersetzt nicht die Möglichkeit eine Frage zu stellen.

    Eine hab ich noch!
    Soll generell DISTINCT bei subselects für die IN-Klausel verwendet werden?
    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.696
    DISTINCT zwingt immer dazu ALLE Sätze zu verarbeiten und dann doppelte rauszuschmeissen.
    Ohne DISTINCT entfällt das entfernen.
    Aber wer weiß, vielleicht merkt der Optimzer das sogar, weil für die IN-Prüfung ist das Zwischenergebnis egal.

    Was hier ggf. beschleunigen kann ist eher EXISTS, da hier bereits 1 Vorkommen ausreicht und nicht alle Sätze benötigt werden.

    Aber insofern hat Dieter (wie immer) Recht, dass Zugriffspfade wesentlich bedeutender sind.

    Insbesonders bei mandantenfähiger Software wird der Mandant gerne vergessen, da man ja nur einen hat
    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
    Mar 2002
    Beiträge
    5.365
    Hallo,

    manchmal lässt sich der exists oder where in durch einen join ersetzen und dann bleibt dem Optimizer fast kein Spielraum mehr Quatsch zu machen (selbst bei der ach so fantastischen neuen Query engine)

    mfg

    Dieter Bender

    Zitat Zitat von Fuerchau Beitrag anzeigen
    DISTINCT zwingt immer dazu ALLE Sätze zu verarbeiten und dann doppelte rauszuschmeissen.
    Ohne DISTINCT entfällt das entfernen.
    Aber wer weiß, vielleicht merkt der Optimzer das sogar, weil für die IN-Prüfung ist das Zwischenergebnis egal.

    Was hier ggf. beschleunigen kann ist eher EXISTS, da hier bereits 1 Vorkommen ausreicht und nicht alle Sätze benötigt werden.

    Aber insofern hat Dieter (wie immer) Recht, dass Zugriffspfade wesentlich bedeutender sind.

    Insbesonders bei mandantenfähiger Software wird der Mandant gerne vergessen, da man ja nur einen hat
    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. kein Konstantes Ergebnis bei CRTDUPOBJ und Datei m.RI
    By deni87991 in forum IBM i Hauptforum
    Antworten: 1
    Letzter Beitrag: 19-10-06, 13:55
  2. Subselect in case when auf DB2/400
    By Flo4711 in forum NEWSboard Programmierung
    Antworten: 5
    Letzter Beitrag: 29-09-06, 17:31
  3. Wirres SQL Ergebnis
    By lyrics in forum IBM i Hauptforum
    Antworten: 2
    Letzter Beitrag: 24-08-06, 12:10
  4. CPYTOIMPF Ergebnis nicht lesbar
    By SUBUIS in forum IBM i Hauptforum
    Antworten: 4
    Letzter Beitrag: 09-05-06, 09:36
  5. Ist SUBSELECT auf DB2/400 aus MS-Query möglich
    By danloc in forum IBM i Hauptforum
    Antworten: 3
    Letzter Beitrag: 17-12-04, 11:24

Berechtigungen

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