[NEWSboard IBMi Forum]
Seite 1 von 2 1 2 Letzte

Hybrid View

  1. #1
    Registriert seit
    Aug 2003
    Beiträge
    1.508
    Wenn es im Batch schneller läuft, schau dir die Einstellungen im STRSQL an.
    Sortierfolge . . . . . . . . . *HEX
    Datenkopie zulässig . . . . . *YES

  2. #2
    Registriert seit
    Jun 2001
    Beiträge
    2.044
    Zitat Zitat von andreaspr@aon.at Beitrag anzeigen
    Wenn es im Batch schneller läuft, schau dir die Einstellungen im STRSQL an.
    Sortierfolge . . . . . . . . . *HEX
    Datenkopie zulässig . . . . . *YES
    Steht beides so, das ist es also nicht.
    Robi
    Das Notwendige steht über dem technisch machbaren.
    (klingt komisch, funktioniert aber!)

  3. #3
    Registriert seit
    Jul 2011
    Beiträge
    14
    versuch es doch so

    Code:
    CREATE TABLE MQT2          
    AS (
    select statement
    ) DATA INITIALLY IMMEDIATE  REFRESH DEFERRED  
    ENABLE QUERY OPTIMIZATION MAINTAINED BY USER
    
    ...
     
     
     refresh table MQT2
    
    ...
    
    SELECT Sp1, ... FROM  MQT2 WHERE ... GROUP BY Sp1 ...

  4. #4
    Registriert seit
    Aug 2003
    Beiträge
    1.508
    Zitat Zitat von Obv Beitrag anzeigen
    Code:
    CREATE TABLE MQT2          AS (
    select statement
    ) DATA INITIALLY IMMEDIATE  REFRESH DEFERRED  ENABLE QUERY OPTIMIZATION MAINTAINED BY USER
    Das DATA INITIALLY IMMEDIATE führt quasi gleich nach dem CREATE TABLE auch gleich das REFRESH TABLE aus.

  5. #5
    Registriert seit
    Jul 2011
    Beiträge
    14
    ich war jetzt komplett bei deferred
    das refresh table nachher ist also hinfällig.

  6. #6
    Registriert seit
    Aug 2003
    Beiträge
    1.508
    Zitat Zitat von Robi Beitrag anzeigen
    Steht beides so, das ist es also nicht.
    Du musst die beiden Umgebungen komplett miteinander vergleichen. Irgendeinen Unterschied gibt es sicher.

    lg Andreas

  7. #7
    Registriert seit
    Jun 2001
    Beiträge
    2.044
    Hi,
    wie vergleiche ich das den?
    Interaktiv ist klar, F13 und 1,
    Aber batch?

    Robi
    Das Notwendige steht über dem technisch machbaren.
    (klingt komisch, funktioniert aber!)

  8. #8
    Registriert seit
    Aug 2003
    Beiträge
    1.508
    DB Monitor und dann Visual Explain (bei beiden Varianten).
    Dort siehst du auch noch mehr als im Debug oder beim STRSQL F13.
    Oder
    Du kannst dir im Navigator mit Rechts-Klick auf "Datenbanken" den Job anschauen der die Abfrage durchführt --> dann Details --> und auf Visual Explain.

  9. #9
    Registriert seit
    Jun 2001
    Beiträge
    2.044
    und was ich dann sehe, ist das, was bei

    sbmjob cmd(runsqlstm ...) verwendet wird ?

    ok, ich versuchs

    Robi
    Das Notwendige steht über dem technisch machbaren.
    (klingt komisch, funktioniert aber!)

  10. #10
    Registriert seit
    Aug 2003
    Beiträge
    1.508
    Genau, da siehst du dann nämlich die Einstellungen die wirklich verwendet wurden.
    Falls irgendwo was übersteuert wurde (JOBD, QAQQINI, usw.) siehst du es dort.
    Damit kannst du dann deine Umgebung mit der vom SBMJOB vergleichen.

    Vielleicht verwendet der SBMJOB einen Zugriffplan, den du im STRSQL nicht verwendest. Dann solltest du aber zumindest auch die Gründe sehen können warum das so ist. Speziell für die einzelnen Steps des Zugriffplans.

  11. #11
    Registriert seit
    Feb 2001
    Beiträge
    20.696
    Ein wesentlicher Unterschied zwischen Batch/Embedded und STRSQL ist die Dialog-Optimierung von STRSQL.
    STRSQL optimiert nämlich für die schnelle Anzeige der ersten Datensätze.
    Im Batch geht SQL davon aus, dass alle Sätze eines Cursors verarbeitet werden sollen, was halt zu einer etwas anderen Optimierung führen kann und somit zur verwendung anderer Indizes als in STRSQL vorgeschlagen.

    Bei embedded SQL kann man noch "optimize for n rows" angeben, wobei ich da wirklich keinen Unterschied in der Performance bzw. Zugrifsspfaden festgestellt habe.
    Ich denke, dass dies wohl nur noch Kommentar und für die alte SQE galt.
    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

  12. #12
    Registriert seit
    Mar 2002
    Beiträge
    5.365
    Zitat Zitat von Fuerchau Beitrag anzeigen
    Bei embedded SQL kann man noch "optimize for n rows" angeben, wobei ich da wirklich keinen Unterschied in der Performance bzw. Zugrifsspfaden festgestellt habe.
    Ich denke, dass dies wohl nur noch Kommentar und für die alte SQE galt.
    ... das geht auch interaktiv und hat bei hinreichend großen Datenbeständen auch durchaus Auswirkungen (optimize für wenige Zeilen favorisiert tendenziell Zugriffspfade, optimize für alle favorisiert bei niedriger Selektivität full table scans...).

    Verwendung eines bestimmten Index und Join Reihenfolge lässt sich häufig durch Sortierung forcieren.
    Bei großen Datenmengen hilft sehr oft das ziehen von Extrakten vor join Operationen.
    Saubere Normalisierung und referential constraints sind auch meist hilfreich.

    D*B, der ab und an mit größeren Datenmengen zu tun 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. zu viele Indices bei ODBC zugriff
    By ILEMax in forum IBM i Hauptforum
    Antworten: 5
    Letzter Beitrag: 20-03-12, 10:24
  2. Query mit Eingangsfolge
    By Frank Ziegler in forum IBM i Hauptforum
    Antworten: 14
    Letzter Beitrag: 10-12-06, 10:21
  3. Index statt LF-was bedeutet das?
    By deni87991 in forum IBM i Hauptforum
    Antworten: 21
    Letzter Beitrag: 07-08-06, 16:42
  4. SQL-View Systemname
    By HPKahn in forum IBM i Hauptforum
    Antworten: 6
    Letzter Beitrag: 17-05-06, 20:22
  5. Ferne SQL Analyse / Performance
    By pwrdwnsys in forum IBM i Hauptforum
    Antworten: 10
    Letzter Beitrag: 16-08-05, 08:56

Berechtigungen

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