-
... aus meiner praktischen Erfahrung gibt es da ein paar Grundregeln:
- Anforderungsanalyse: Was darf wie lange dauern.
- den (eigenen und maschinellen) Aufwand begrenzen auf das, was die Anforderungen nicht erreicht.
- Laufzeiten messen statt schätzen oder schätzen lassen (STRDBMON ist Dein Freund)
- bei Verbesserungsversuchen kann man sich durchaus von Empfehlungen der Query Engine leiten lassen
- nach Verbesserungsversuchen neu messen, falls es nix bringt Rückbau auf Stand vorher
Von Blindschusstherapien rate ich ab, anlegen überflüssiger Indexe kann drastische Folgen haben und freut allenfalls den Hardware Lieferanten.
D*B
-
Nun ja BI ist schon immer eine Kunst, deshalb habe ich mich dieser auch verschrieben (siehe Signatur).
Was den Querytimeout angeht, so kann man diesen via QAQQINI überschreiben.
Dein bisheriges Vorgehen hat sich auch heute noch nicht geändert.
Um zu prüfen, welche Indizes tatsächlich verwendet werden, kann man leicht an Hand der geöffneten Dateien des Jobs sehen. Auch unter STRDBG (gibt auch einen QAQQINI-Eintrag dafür) muss man sich die Meldungen im Joblog ansehen. Für jede Datei gibt es 1-2 Einträge in der die Indizes mit einem Bewertungscode aufgeführt sind. Der Index mit Bewertung 0 wurde verwendet.
Im Gegensatz zu früher hat sich auch der Einsatz von 1-Feld-Indizes verbessert, da der Optimizer durchaus in der Lage ist, Indizes zu kombinieren. Also an Stelle viele Indizes mit wilden Feldkombinationen (A+B, A+C, B+C+D, ...) zu erstellen reicht es durchaus, weniger Indizes mit genau nur 1 Feld zu verwenden. Das dient dann auch der Pflegeoptimierung.
Dabei wird man dann feststellen, dass es durchaus Felder gibt, die nur weniger als 10 verschiedene Werte aufweisen und dann ein Tablescan effektiver sein kann.
Und da kommt dann nun wirklich EVI ins Spiel, da hier die Bitmap/RRN-Kombinationen extrem eine Rolle spielen. Wichtig ist bei der Erstellung die "Anzahl Distinct Values" fest zu legen um einen Rebuild zu verhindern.
Nachzulesen in Birgittas o.a. Link;-).
Nachtrag:
Und was Birgittas Hinweis angeht, bereits Aggregate in den EVI zu schieben, so ist dieser wenig zielführend. Wie man an Hand der Beschreibung sieht, wird das Aggregat zum Schlüssel gebildet.
In einer mandantenfähigen Software kommt man bei Aggregaten selten ohne Where-Klauseln aus, sowie bei Gruppierungen über mehr als 1 Feld, da sind dann die voraggregierten Werte eher sinnlos.
-
Ich danke euch vorerst mal für eure Antworten. Ich muss mir jetzt erst mal die empfohlene Literatur durchlesen und ein paar tests mit den vorgeschlagenen tools durchführen.
Da ich auch verpflichtet worden bin meinen Urlaub abzubauen (da hat sich einiges angesammelt) könnte es ein paar Wochen dauern.
Trotzdem - Vielen Dank vorerst
Similar Threads
-
By Peet in forum NEWSboard Programmierung
Antworten: 16
Letzter Beitrag: 30-04-18, 20:18
Tags for this Thread
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