[NEWSboard IBMi Forum]
  1. #1
    Registriert seit
    Mar 2004
    Beiträge
    33

    Offset für SQL - Select

    Hallo.
    Ich suche eine Art Offset für SQL unter V4R3, damit ein Select nur auf die letzten 50000 (bzw. nicht auf die ersten 400000) Datensätze angewandt wird. Vielleicht hat mir einer nen Tipp.

    Gruß

    Marc

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

    mit einem SELECT Statement alleine geht das nicht (genauer: nicht wirklich), bei der Verwendung eines scrollable Cursors oder ResultSets kann man das mit Positionierung machen; letzteres kann man auch in eine stored Procedure einbauen.

    mfg

    Dieter Bender

    Zitat Zitat von Marc_w
    Hallo.
    Ich suche eine Art Offset für SQL unter V4R3, damit ein Select nur auf die letzten 50000 (bzw. nicht auf die ersten 400000) Datensätze angewandt wird. Vielleicht hat mir einer nen Tipp.

    Gruß

    Marc
    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
    Mar 2004
    Beiträge
    33
    Zitat Zitat von BenderD
    Hallo,

    mit einem SELECT Statement alleine geht das nicht (genauer: nicht wirklich), bei der Verwendung eines scrollable Cursors oder ResultSets kann man das mit Positionierung machen; letzteres kann man auch in eine stored Procedure einbauen.

    mfg

    Dieter Bender
    Hallo

    Danke für die schnelle Antwort. Wenn sich deine Vorschläge in ein kurzes Beispiel fassen lassen, würde ich mich darüber freuen. Ansonsten dauert es halt etwas länger mit meinen Abfragen.

    Gruß

    Marc

  4. #4
    Registriert seit
    Feb 2001
    Beiträge
    20.241
    Wobei die Positionierung (je nach Implementierung) die 400000 Sätze aber trotzdem liest.
    Wie wärs mit einer umgekehrten Sortierung und dann halt nur die 1. 50000 Sätze lesen ?
    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.873
    Zitat Zitat von Fuerchau
    Wobei die Positionierung (je nach Implementierung) die 400000 Sätze aber trotzdem liest.
    Wie wärs mit einer umgekehrten Sortierung und dann halt nur die 1. 50000 Sätze lesen ?
    Dazu muss allerdings dann auch der richtige Index über dem richtigen Feld angelegt sein. Ansonsten, werden trotzdem alle Sätze gelesen, in eine temporäre Ergebnis-Datei ausgegeben und dann sortiert. Wodurch das Ganze vielleicht noch ein bisschen langsamer wird.
    ... Und zu glauben, man brauche nur die entsprechende logische Datei anzugeben und schon wird der angegebene Zugriffs-Pfad genommen, ist ein Irrtum!
    ... the optimizer may or may not use this access path.

    Die Verwendung der relativen Satz-Nr. ist auch keine Lösung, da es nicht möglich ist einen Index darüber zu bilden, wird jeweils die komplette Datei gelesen.
    Birgitta Hauser

    Anwendungsmodernisierung, Beratung, Schulungen, Programmierung im Bereich RPG, SQL und Datenbank
    IBM Champion seit 2020 - 4. Jahr in Folge
    Birgitta Hauser - Modernization - Education - Consulting on IBM i

  6. #6
    Registriert seit
    Mar 2002
    Beiträge
    5.287
    Hallo,

    diesen Effekt muss ich bei SQL immer mit auf der Rechnung haben, wenn erforderliche Zugriffspfade fehlen und er lässt sich (fast) immer ausschließen, falls der Hersteller der Datenbank nicht zu blöd war das ordentlich zu ptogrammieren, wie bei DB2/400 und dem full table scan bei der Verwendung von RRN, den Birgitta anspricht.

    mfg

    Dieter Bender

    Zitat Zitat von Fuerchau
    Wobei die Positionierung (je nach Implementierung) die 400000 Sätze aber trotzdem liest.
    Wie wärs mit einer umgekehrten Sortierung und dann halt nur die 1. 50000 Sätze lesen ?
    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. SELECT..FOR UPDATE/Embedded SQL
    By KB in forum IBM i Hauptforum
    Antworten: 7
    Letzter Beitrag: 28-04-16, 14:42
  2. sql select mit zusätzl. Feldern
    By rr2001 in forum IBM i Hauptforum
    Antworten: 2
    Letzter Beitrag: 07-07-06, 09:56
  3. Cobol-Programm mit Embedded SQL (SELECT CASE)
    By klausgkv in forum NEWSboard Programmierung
    Antworten: 8
    Letzter Beitrag: 08-06-06, 13:47
  4. Satzanzahl Select (embedded SQL)
    By Schorsch in forum NEWSboard Programmierung
    Antworten: 2
    Letzter Beitrag: 08-09-05, 15:22
  5. SQL Select unter 5.1 und 5.2
    By holly in forum IBM i Hauptforum
    Antworten: 2
    Letzter Beitrag: 15-06-04, 10:04

Berechtigungen

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