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

Hybrid View

  1. #1
    Registriert seit
    Jan 2012
    Beiträge
    1.199
    Was genau heißt "Ausschalten"? Strom weg? Oder heißt das, wenn man alle Subsysteme beendet (damit müssten ja alle Jobs beendet sein) sind die temporären Daten weg? Wenn man die Jobs behalten müsste, würden diese da ja sicherlich Locks auf den Dateien halten und die Sicherung bekäme Probleme, oder?

    Vielen Dank schon mal.

    Dieter

  2. #2
    Registriert seit
    Feb 2001
    Beiträge
    20.696
    Ausschalten heißt PWRDWNSYS und eben IPL mit Neustart aller Jobs, auch der Systemjobs.
    Der eingeschränkte Zustand beendet nicht die QSQ-Jobs, somit müsste der Cache eben erhalten bleiben.

    Aber das ist ja sowiso nur eine Umgehung deines eigntlichen Problems.
    Sorge lieber dafür dass die SQLs analysiert und permanente Indizes angelegt werden.
    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

  3. #3
    Registriert seit
    Aug 2001
    Beiträge
    2.928
    M.E. wird der Plancache nicht beim Herunterfahren gelöscht, sondern beim Hochfahren initialisiert.

    Birgitta
    Birgitta Hauser

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

  4. #4
    Registriert seit
    Mar 2012
    Beiträge
    71
    Plan Cache wird zur IPL Zeit gelöscht.

    Dazu ein entsprechender Artikel vom "Mitbewerber-Blatt".

    http://bit.ly/PbNLKQ
    Last edited by Logic IT-Services; 12-09-12 at 14:13. Grund: Link Korrektur

  5. #5
    Registriert seit
    Jan 2012
    Beiträge
    1.199
    Danke für alle Antworten. Mit Analyse der SQLs ist doch sicher die Verwendung des Index Advisors gemeint. Oder gibt es da noch etwas besseres? Einige Vorschläge, die der Index-Advisor macht, kommen mir ziemlich suspekt vor (z.B. Indizes mit mehreren Schlüsselfeldern, bei denen der erste Schlüssel der Unique Key der Datei ist!)

    Dieter

  6. #6
    Registriert seit
    Aug 2001
    Beiträge
    2.928
    Zitat Zitat von dschroeder Beitrag anzeigen
    Mit Analyse der SQLs ist doch sicher die Verwendung des Index Advisors gemeint. Oder gibt es da noch etwas besseres? Einige Vorschläge, die der Index-Advisor macht, kommen mir ziemlich suspekt vor (z.B. Indizes mit mehreren Schlüsselfeldern, bei denen der erste Schlüssel der Unique Key der Datei ist!
    Es gibt 2 Möglichkeiten die SQL Statements zu optimieren:
    1. durch die richtigen Indices, da bieten sich Index Advisor und Index Condenser an
    2. durch die Art wie ein SQL Statement codiert ist.

    Für die Analyse von SQL-Statements bietet der System iNavigator neben dem Index-Advisor und Index Condesor auch noch die SQE Plan Cach-Analyse sowie die Database Monitor Jobs mit entsprechenden Auswertungen.

    Der Advisor schlägt z.T. auch Indices vor, die für einen IOA (Index Only Access) verwendet werden könnten, d.h. alle für die Abfrage benötigten Informationen sind in den Schlüssel-Feldern enthalten, so dass ein Zugriff auf den Datensatz nicht notwendig ist.

    Birgitta
    Birgitta Hauser

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

  7. #7
    Registriert seit
    Jan 2012
    Beiträge
    1.199
    OK, das mit dem IOA erklärt einiges. Ich habe auch eben gesehen, dass einige empfohlene Indizes mit Primärschlüssel encoded Vector Indizes sind. Das kann natürlich doch Sinn machen. Ich bin allerdings etwas vorsichtig damit, jeden Index, den der Advisor vorschlägt, als permanenten Index anzulegen. In Tabellen, in denen viel gelesen und wenig geschrieben wird, ist das sicherlich OK. Bei Tabellen mit viel Bewegung befürchte ich immer, dass die Performance durch die Pflege der Indizes beeinträchtigt wird.

    Vielen Dank für die Anworten
    Dieter

  8. #8
    Registriert seit
    Aug 2003
    Beiträge
    1.508
    Der Index-Adviser ist nebenbei auch nur als Vorschlag zu betrachten!

    Es kann durchaus passieren, dass der dadurch erstellt Index gar nicht verwendet wird, da die DB meint, dass sie ihn lieber doch nicht verwenden will.

    Des weiteren sollte auch festgestellt werden, von wo aus die Empfehlung kommt. Nur weil im STRSQL einige User ein paar SELECTs absetzen (die eh schon schnell laufen) muss der dafür empfohlene Index nicht wirklich notwendig sein.

    Auch auf das Alter der Empfehlung achten. Eventuell wird diese gar nicht mehr benötigt!

    Was die Optimierung betrifft, sollte zuerst das SQL Statement analysiert, und erst zum schluss Indice erstellt werden.

    Ich habe schon abfragen korrigiert, wo im Statement eine Logische statt der Physischen verwendet wurde.
    Dadurch hab ich die Dauer der Abfrage von bis zu 10 min. auf ein paar Millisekunden verbessern können.

    lg Andreas

  9. #9
    Registriert seit
    Jan 2012
    Beiträge
    1.199
    Vielen Dank für die Infos.
    Ich mache es im Prinzip so, wie du es beschrieben hast: Nur aktuelle Vorschläge werden überhaupt in Erwägung gezogen. Ich schaue mir natürlich auch an, wie oft der Index angefordert wird und weshalb (war es ein normaler User oder hat ein Programmierer einfach mit SQL "rumprobiert"). Die Sache mit der Analyse der SQL-Statements ist natürlich schwierig. Einige Abfragen werden mit dynamischem SQL zusammengebaut und sehen abhängig davon, was die User selektieren, immer wieder anders aus. Außerdem haben wir einiges über user defined functions gekapselt. Da läuft dann innen eine Mischung aus RPG und embedded sql.

    Gruß,
    Dieter

  10. #10
    Registriert seit
    Feb 2001
    Beiträge
    20.696
    Eine Selektion über UDF "... where myudf(..) = xxx" erzwingt natürlich einen Tablescan.
    Hier ist ggf. aber zu prüfen ob das nicht anders gelöst werden kann oder zusätzlich Felder zur Abfrage verwendet werden können.

    UDF's in der Where-Klausel gehörten aus Performancesicht auch verboten.
    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

  11. #11
    Registriert seit
    Jan 2012
    Beiträge
    1.199
    Wir verwenden UDFs in der Regel nicht im Where bzw. dann nur, wenn weitere Selektionsbedingungen vorhanden sind, mit denen der Optimizer die Grundmenge schon mal verkleinern kann. (Ich hoffe, dass der Optimizer das auch tut, dass er also die UDF erst zum Schluss prüft).
    Sorry: Eben habe ich mich auch verschrieben. Ich meinte nicht, dass wir UDFs für die Selektion nutzen, sondern UDTFs.

    Danke für die Infos,
    Dieter

  12. #12
    Registriert seit
    Aug 2001
    Beiträge
    2.928
    Zitat Zitat von dschroeder Beitrag anzeigen
    Sorry: Eben habe ich mich auch verschrieben. Ich meinte nicht, dass wir UDFs für die Selektion nutzen, sondern UDTFs.
    Wirklich UDTFs?
    Die können nämlich nur in der From-Anweisung verwendet werden.

    Ansonsten schau Dir die Analyse-Tools im System iNavigator an. Da siehst Du auch welches SQL Statement ausgeführt wurde (unabhängig davon, ob es dynamisch oder als statisches SQL oder als ad hoc-Abfrage ausgeführt wurde.)

    Die Analyse-Tools ermöglichen Dir auch die SQL-Statements wieder "herzuholen" und erneut auszuführen etc.

    Ansonsten solltest Du einfach mal den systemweiten Index-Advisor (die Datei SYSIXADV) clearen und nach einiger Zeit, z.B. 1, 2 Wochen die die neuen Advices anschauen.

    Sofern die Advices von der SQE ausgesprochen wurden, und solange kein IPL gefahren wurde, kannst Du Dir auch die SQL-Statements, die zu dem Advice geführt haben anzeigen lassen.

    ... ich komm' auch gerne mal zur weiteren Unterstützung vorbei

    Birgitta
    Birgitta Hauser

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

Similar Threads

  1. Journal gelöscht
    By Mädele in forum IBM i Hauptforum
    Antworten: 1
    Letzter Beitrag: 08-03-06, 08:14
  2. cache battery pack
    By mtu in forum IBM i Hauptforum
    Antworten: 7
    Letzter Beitrag: 21-02-06, 11:54
  3. Nachrichten vom QSYSOPR mit F13 gelöscht
    By cassi in forum IBM i Hauptforum
    Antworten: 3
    Letzter Beitrag: 12-11-05, 17:20
  4. werden hier fragen einfach gelöscht?
    By h_u_d in forum IBM i Hauptforum
    Antworten: 2
    Letzter Beitrag: 07-01-05, 12:48
  5. Antworten: 2
    Letzter Beitrag: 26-09-01, 15:25

Berechtigungen

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