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

Hybrid View

  1. #1
    Registriert seit
    Nov 2003
    Beiträge
    2.422
    Hängt die logische auch wirklich an der physischen Datei dran (DSPDBR)?

    Aber ohne den echten Aufbau der logischen und physischen Datei und der Abfrage zu kennen, kann man leider nur raten ...

  2. #2
    cbe is offline [professional_User]
    Registriert seit
    May 2005
    Beiträge
    392
    hm, ich verwende bei LFs idR alle Felder und definiere ausschließlich die Keys, also z.B. so

    A R FILEL1 PFILE(FILE)
    *
    A K FELDA
    A K FELDB
    A K FELDC
    *


    Keine sonstigen Felddefinitionen und keine Select/Omits.

    Mit diesen hatte ich nie ein Problem, dass SQL die nicht verwendet.

  3. #3
    Registriert seit
    Feb 2001
    Beiträge
    20.748
    Dies ist auch korrekt so, anders funktioniert ein CREATE INDEX auch nicht.
    Allerdings kann man nun auch berechnetet Indizes erstellen die dann auch verwendet werden, wenn die Where-Klausel den Ausdruck auch wiederholt. Ist der Ausdruck nicht identisch kann der Index nicht verwendet werden. Daher kann SQL nun auch die Omit/Select's verwenden.
    Aber wer denkt schon daran, seinen SQL an so einen Index anzupassen.
    Wie viel 100e Indizes soll ich dann erstellen?
    Von der Maintenance-Perfomance mal ganz abgesehen.
    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
    Nov 2007
    Beiträge
    371
    hmmm zu diesem Thema noch eine Frage .
    Ich hab ja Indizes angelegt die nicht benützt werden .

    Kann mir mal einer folgenden Unterschied noch erklären .


    Vorschlag aus Index Advisor genommen und SQL Index erstellt .
    Dieser Vorschlag erscheint jetzt nicht mehr in der Liste aber USED DAYS COUNT = 0 und das seit mehreren Tagen . Wenn ich aber den unbenützten Index wieder lösche erscheint er wieder in der Liste.


    Anderer Fall . Auch wieder Vorschlag aus Index Advisor genommen und SQL Index erstellt.
    Dieser wird wie im Eingangsposting nicht genützt USED DAYS COUNT = 0 aber er erscheint noch unter den Vorschlägen die zuerstellen sind ..



    In beiden Fällen . Ich raffs einfach nicht ;(

  5. #5
    Registriert seit
    Aug 2003
    Beiträge
    1.508
    Zitat Zitat von woodstock99 Beitrag anzeigen
    Vorschlag aus Index Advisor genommen und SQL Index erstellt .
    Dieser Vorschlag erscheint jetzt nicht mehr in der Liste aber USED DAYS COUNT = 0 und das seit mehreren Tagen . Wenn ich aber den unbenützten Index wieder lösche erscheint er wieder in der Liste.
    Der Index Advisor gibt nur Vorschläge. Diese Vorschläge sollten immer hinterfragt werden. Da diese Phänome keine Seltenheit sind.
    Meine Vermutung ist, dass die DB glaubt, dass dieser Index für bestimmte Abfragen Vorteile haben !könnte!
    Da jedoch die statistischen Informationen dazu fehlen (da der Index zu diesem Zeitpunkt nicht existiert), kann eben nur eine Vermutung geäußert werden.
    Existiert der Index, startet die DB auch mit der Sammlung statistischer Daten dazu (wieviele eindeutige Werte gibt es, wie oft kommen diese vor, ...)
    Anhand dieser Statistik sagt dann der Optimizer: "Hmm ... scheinbar bringt mir der Index doch nicht den erhofften Vorteil ..."

    Zitat Zitat von woodstock99 Beitrag anzeigen
    Anderer Fall . Auch wieder Vorschlag aus Index Advisor genommen und SQL Index erstellt.
    Dieser wird wie im Eingangsposting nicht genützt USED DAYS COUNT = 0 aber er erscheint noch unter den Vorschlägen die zuerstellen sind ..
    Wurde der Eintrag nach dem Erstellen des Index auch aus dem Advisor entfernt?
    Er wird nur dann automatisch entfernt, wenn du den Index direkt aus dem Advisor erstellen lässt ... bzg. fragt er dich (glaub ich) ob er ihn aus der Liste entfernen soll.

    lg Andreas

  6. #6
    Registriert seit
    Aug 2012
    Beiträge
    5
    Hallo woodstock99,

    ich erinnere mich an eine Aussage von IBM, dass der Optimizer nicht zwangsläufig alle LFs betrachtet. Da du schreibst, dass es hier über 50 davon gibt, kann es sein, dass deine neue Datei gar nicht "ausprobiert" wird. Das war zumindest die Erklärung eines Consultants, warum wir auch ein solches Verhalten beobachtet hatten. Ich weiß allerdings nicht, wie hoch ein solcher Wert ist oder ob er irgendwo konfigurierbar ist. Falls es deine Umgebung erlaubt und du den Nerv dazu hast, kannst du ja mal ausprobieren, die Anzahl der LFs zu reduzieren... Aber ich kann mich natürlich auch irren.

    Viele Grüße
    Matthias

  7. #7
    Registriert seit
    Mar 2002
    Beiträge
    5.379
    ...
    die erste Frage, die sich stellt ist: wie wurde der USED DAYS COUNT ermittelt? (DSPOBJD kriegt vieles nicht mit)
    die zweite Frage: ist die Information überhaupt richtig? (ich würde dieser Angabe immer nur begrenzt über den Weg trauen)

    Für mich ist der entscheidende Punkt: Performance ist messbar!!! Wenn ich einen Index für eine bestimmte Abfrage anlege, dann wird messtechnisch verifiziert ob das einen Effekt hat, wenn nein, dann wird er wieder gelöscht. Der Index Advisor ist für mich immer nur eine zusätzliche Informationsquelle, da gibt es ebensviel Kaffeesatzanteil wie bei dem ganzen CQE/SQE Gesülze, das ist für mich alles J2FtR.

    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/

  8. #8
    Registriert seit
    Feb 2015
    Beiträge
    26
    Ob ein Index verwendet wird, ist einfach mit Visual Explain auf den entsprechenden PlanCache Eintrag festzustellen.

    Jeder der SQL verwendet und mit dem PlanCache, SQL Performancemonitoren und Visual Explain nicht umgehen kann, sollte dringend mal eine Schulung besuchen.

    Grüße

    Ralf
    Vonr mir erstellte Infos und Tutorials zum IBM i finden sie auf Everything about IT

  9. #9
    Registriert seit
    Nov 2007
    Beiträge
    371
    @Bender.

    Jupp per DSPOBJD .
    Also langsam versteh ich gar nix mehr und auf welchen Wert kann man sich den dann überhaupt verlassen?


    @Peterr.
    "Jeder der SQL verwendet und mit dem PlanCache, SQL Performancemonitoren und Visual Explain nicht umgehen kann, sollte dringend mal eine Schulung besuchen."

    War das die Antwort auf meine Frage wie dieser Sachverhalt zustande kommt ?

    Dazu brauche ich keinen PlanCache und sonstiges um zu sehen ob ein Index verwendet wird .
    Reicht auch ein strdbg und ein strsql . Soviel zum Thema Schulung ..

  10. #10
    Registriert seit
    Mar 2002
    Beiträge
    5.379
    DSPOBJD zählt das nur hoch, wenn man den Index mit RLA benutzt (Index isn nicht gleich Access Path => Access path sharing). Am einfachsten kommt man dran mit Ooops Nerv.

    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/

  11. #11
    Registriert seit
    Nov 2007
    Beiträge
    371
    ops nerv ?
    also wenn ich da unter schemas - > indexes - den Index anschaue hab ich ja auch nur die spalten
    Query use - Query usw count , days usw count bla bla und diese Werte sind auch 0 .
    Entsprechen also dem Wert von DSPOBJD .

    Wie gesagt ich raff einfach nicht wenn ich einen Index anlege den der Advisor vorschlägt verschwindet er von der Liste (Vorschläge Advisor) aber diese Werte sind 0 . Also nicht benützt .

    Wo kann ich dann nachschauen . Also schaue ich doch falsch oder ?

  12. #12
    Registriert seit
    Feb 2015
    Beiträge
    26
    Sind wirklich alle auf 0 zumindest der Wert für die Abfragestatistik sollte dann schon erhöht werden. Sonst einfach mal einen PMR bei der IBM aufmachen.
    Vonr mir erstellte Infos und Tutorials zum IBM i finden sie auf Everything about IT

Similar Threads

  1. Glaubensfrage LF / index und performance
    By Robi in forum NEWSboard Programmierung
    Antworten: 6
    Letzter Beitrag: 06-02-15, 16:26
  2. Cobol View und Index (V5R4)
    By KingofKning in forum NEWSboard Programmierung
    Antworten: 6
    Letzter Beitrag: 29-12-14, 13:01
  3. Artikel: Index aller Artikel 2013/2014 NEWSolutions Print
    By NEWSolutions Redaktion in forum NEWSolutions artikel
    Antworten: 0
    Letzter Beitrag: 15-11-14, 11:09
  4. QDDS: Index absteigend
    By dino in forum IBM i Hauptforum
    Antworten: 2
    Letzter Beitrag: 24-09-14, 19:24
  5. Create Index
    By tarkusch in forum NEWSboard Programmierung
    Antworten: 8
    Letzter Beitrag: 06-11-13, 12:44

Berechtigungen

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