[NEWSboard IBMi Forum]

Hybrid View

  1. #1
    Registriert seit
    Feb 2001
    Beiträge
    20.695
    Wie immer gibt's natürlich viele Lösungen:

    select
    key, Name1
    ,(select Name2 from myfile b where a.key=b.key) name2
    ,(select Name3 from myfile b where a.key=b.key) name3
    ,(select Name4 from myfile b where a.key=b.key) name4
    : -- je Spalte ein neuer Subselect
    from myfile a
    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
    Aug 2001
    Beiträge
    2.928
    @Baldur

    Das könnte nur klappen, wenn die Namen immer Name1, Name2, Name3 und Name4 wären, wovon ich allerdings nicht ausgehe.
    Des weiteren würde ich von dieser Lösung abraten, da durch die vielen unnötigen Sub-Selects die Performance in die Knie geht.

    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

  3. #3
    Registriert seit
    Mar 2002
    Beiträge
    5.365
    Zitat Zitat von B.Hauser Beitrag anzeigen
    @Baldur

    Das könnte nur klappen, wenn die Namen immer Name1, Name2, Name3 und Name4 wären, wovon ich allerdings nicht ausgehe.
    Des weiteren würde ich von dieser Lösung abraten, da durch die vielen unnötigen Sub-Selects die Performance in die Knie geht.

    Birgitta
    ... den ersten Punkt teile ich (funzt net); den zweiten Punkt (Performance) ordne ich mal in die Rubrik "Wie sich Klein-Erna die Query Engine vorstellt" ein; Subselects werden zumeist in Joins aufgelöst, was auch gut so ist!

    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/

  4. #4
    Registriert seit
    Feb 2001
    Beiträge
    20.695
    Jo, da habe ich nicht genau hingesehen.
    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
    Aug 2001
    Beiträge
    2.928
    Zitat Zitat von BenderD Beitrag anzeigen
    ordne ich mal in die Rubrik "Wie sich Klein-Erna die Query Engine vorstellt" ein; Subselects werden zumeist in Joins aufgelöst, was auch gut so ist!
    Die Query-Engine ist zwar besser geworden und erkennt und konvertiert inzwischen meist solche Konsturkte, ... aber eben nur meist!
    Trotzdem ... bei 30 unnötigen Joins sind mindestes 29 zuviel!

    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

  6. #6
    Registriert seit
    Mar 2002
    Beiträge
    5.365
    Zitat Zitat von B.Hauser Beitrag anzeigen
    Die Query-Engine ist zwar besser geworden und erkennt und konvertiert inzwischen meist solche Konsturkte, ... aber eben nur meist!
    Trotzdem ... bei 30 unnötigen Joins sind mindestes 29 zuviel!

    Birgitta
    ... bezüglich Performance hilft nur messen, alles andere ist reine Kaffeesatzleserei!
    AS400 Freeware
    http://www.bender-dv.de
    Mit embedded SQL in RPG auf Datenbanken von ADABAS bis XBASE zugreifen
    http://sourceforge.net/projects/appserver4rpg/

  7. #7
    Registriert seit
    Jul 2001
    Beiträge
    2.713
    Zitat Zitat von BenderD Beitrag anzeigen
    ... bezüglich Performance hilft nur messen, alles andere ist reine Kaffeesatzleserei!
    und dann nicht vergessen, dass sich der Kram je nach CPU-Typ (Power5,6,7,8) und Ressourcen-Ausstattung noch anders verhalten kann als gedacht
    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

  8. #8
    Registriert seit
    Nov 2003
    Beiträge
    2.403
    Und nach dem Einspielen von PTFs ...
    Und nach Erstellen weiterer Zugriffspfade ...

    Zitat Zitat von holgerscherer Beitrag anzeigen
    und dann nicht vergessen, dass sich der Kram je nach CPU-Typ (Power5,6,7,8) und Ressourcen-Ausstattung noch anders verhalten kann als gedacht

  9. #9
    Registriert seit
    Aug 2003
    Beiträge
    1.508
    Zitat Zitat von BenderD Beitrag anzeigen
    ... bezüglich Performance hilft nur messen, alles andere ist reine Kaffeesatzleserei!
    Sicher kann die DB immer andere Entscheidungen treffen als man sich das vorstellt, da viele Faktoren einfließen die oft nicht berücksichtigt werden.

    Dass aber 30 subselects langsamer sind als 1 kann man in der Regel schon nachvollziehen.
    In diesem Fall wird es vielleicht vernachlässigbar sein.
    Merken tut man dies erst wenn es sich um eine oder mehrere wirklich große Tabellen handelt. (Aber nicht nur dann!)
    Da kann es schnell mal passieren, dass Queries Minuten bis Stunden dauern.
    Klar, kann in vielen Fällen mit Indices kompensiert werden, aber auch nicht immer.
    Und genau da fängt das Tuning an und da gehören auch die Anzahl der Tabellen-Zugriffe beachtet.

    Genau so habe ich z.B. schon viele Abfragen die bis zu 20 min dauerten wieder in den Millisec. bereich gebracht.

  10. #10
    Registriert seit
    Mar 2006
    Beiträge
    33
    Danke Birgitta,

    deine Lösung funktioniert wunderbar. Die Anzahl der Namen ist auf 30 beschränkt, was natürlich dazu führt dass 30 CASE-Abfragen benötigt werden.
    Ist aber schneller als ein RPG-Programm zu schreiben.

    Gewusst wie!

    LG
    Wolfgang

Similar Threads

  1. SQL: Anzahl Spalten die einen Wert enthalten -pro Datensatz
    By ExAzubi in forum NEWSboard Programmierung
    Antworten: 3
    Letzter Beitrag: 13-08-15, 08:46
  2. ein SFLCTL mit mehreren SFL-Records
    By Malte in forum NEWSboard Programmierung
    Antworten: 10
    Letzter Beitrag: 17-10-14, 11:13
  3. NetServer mit mehreren IP's betreiben
    By Starocotes in forum IBM i Hauptforum
    Antworten: 1
    Letzter Beitrag: 10-11-13, 00:26
  4. Routing mit mehreren Ethernetkarten
    By SE in forum IBM i Hauptforum
    Antworten: 4
    Letzter Beitrag: 14-06-02, 11:34
  5. Virtuelle Spalten im VIEW auf NULL
    By KB in forum IBM i Hauptforum
    Antworten: 0
    Letzter Beitrag: 18-05-01, 15:04

Berechtigungen

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