-
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.
-
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 ;(
-
 Zitat von woodstock99
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 von woodstock99
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
-
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
-
...
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
-
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
-
@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 ..
-
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
-
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 ?
-
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.
-
...
hast Du mal unter
Database > Schemas > Tables Mausclick rechts show indexes nachgesehen (ich weiß schon, warum ich das Murks nenne)?
QUSRMBRD müsste auch gehen.
D*B
 Zitat von woodstock99
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 ?
-
@Bender. ich werd mal prüfen ...
@Peterr . Der Wert wird erhöht und deshlab erscheint er nicht mehr in der Liste der Vorschläge ??. Bei den anderen ist auch dieser Wert Null und deshalb kommen sie wahrscheinlich immer noch in der Liste .
Also so reime ich mir das jetzt zusammen . Ich verstehe aber ehrlichweise gesagt nicht was dieser Wert aussagen soll Query Statisik USE Count . Ist das ein Zähler der Benützt wird wenn z.b. im JOBLOG steht . Dieser INdex wurde nicht benützt weil oder er wurde benützt ??
Similar Threads
-
By Robi in forum NEWSboard Programmierung
Antworten: 6
Letzter Beitrag: 06-02-15, 16:26
-
By KingofKning in forum NEWSboard Programmierung
Antworten: 6
Letzter Beitrag: 29-12-14, 13:01
-
By NEWSolutions Redaktion in forum NEWSolutions artikel
Antworten: 0
Letzter Beitrag: 15-11-14, 11:09
-
By dino in forum IBM i Hauptforum
Antworten: 2
Letzter Beitrag: 24-09-14, 19:24
-
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
-
Foren-Regeln
|
Erweiterte Foren Suche
Google Foren Suche
Forum & Artikel Update eMail
AS/400 / IBM i
Server Expert Gruppen
Unternehmens IT
|
Kategorien online Artikel
- Big Data, Analytics, BI, MIS
- Cloud, Social Media, Devices
- DMS, Archivierung, Druck
- ERP + Add-ons, Business Software
- Hochverfügbarkeit
- Human Resources, Personal
- IBM Announcements
- IT-Karikaturen
- Leitartikel
- Load`n`go
- Messen, Veranstaltungen
- NEWSolutions Dossiers
- Programmierung
- Security
- Software Development + Change Mgmt.
- Solutions & Provider
- Speicher – Storage
- Strategische Berichte
- Systemmanagement
- Tools, Hot-Tips
Auf dem Laufenden bleiben
|
Bookmarks