[NEWSboard IBMi Forum]
Seite 1 von 2 1 2 Letzte
  1. #1
    Registriert seit
    Nov 2020
    Beiträge
    330

    Zugriffs-Plan: Plan-Cache vs. Programm Speicher

    Hallo Gemeinde,

    Ich habe gerade ein Verständnisproblem und hoffe jemand kann mir bei der Aufklärung helfen.

    Wenn ich ein SQLRPGLE Programm mit statischen SQL verwende, wird der Zugriffsplan nicht im Plan-Cache gespeichert sondern im Programm-Objekt selbst (program associated space ... PAS).

    Im ACS Performance Center, kann ich mir unter "Plan Cache" alle Statements (vom Plan Cache hätte ich gemeint) anzeigen lassen.
    Hier habe ich aber auch Statements von SQLRPGLE Programmen mit statischem SQL.

    Warum sehe ich diese hier?
    Oder sind sind das nur "historische" Pläne die für den Optimizer keine Bedeutung haben?

    Danke!
    lg Andreas

  2. #2
    Registriert seit
    Aug 2001
    Beiträge
    2.873
    Die Zugriffspläne von ALLEN von der SQE ausgeführten SQL-Abfragen werden in dem SQE Plan Cache gespeichert. Dabei spielt es keine Rolle, ob die Zugriffs-Pläne von einem statischen SQL-Statement in einem (RPG) Program oder einer SQL Routine (Stored Procedure oder User Defined Function) oder von einem dynamischen SQL generiert wurden.
    Jedes SQL-Statement benötigt einen Access Plan der genau beschreibt, welche Schritte für dieses Statement erforderlich sind (Zugriffswege, Reihenfolge, Temporäre Objecte). Dieser Zugriffs-Plan dann ausgeführt (ODP= Open Data Path wird geöffnet).
    Wird ein SQL-Statement ausgeführt, wird zunächst in den SQE Plan Cache geschaut, ob es da einen passenden Access Plan gibt. Dieser wird dann nochmal gecheckt (und ggf. ersetzt) bevor er dann ausgeführt wird.
    Pro SQL-Statement können bis zu 3 unterschiedlichen Plänen gespeichert werden.

    Die Access Pläne für Statisches SQL werden zusätzlich im (Service-)Programm-Objekt gespeichert (und auch aktualisiert). Wenn im Plan Cache kein entsprechender Plan gefunden wird, kann auf die in den Programm-Objekten gesicherten Pläne zurückgegriffen werden. Die in den Objekten (bzw. bei der Erstellung) gesicherten Zugriffs-Pläne können auch separat (SQL Package) gespeichert und verwendet werden. Vor SQE (ab ca. Release V5R2) war das die einzige Möglichkeit Zugriffs-Pläne zu speichern und verwenden.
    Heute wird immer zunächst in den Plan Cache geschaut und nur dann wenn dort nicht gefunden, werden die Alternativen genutzt.

    Wenn der SQE-Plan Cache vollläuft, werden die ältesten bzw. am längsten nicht verwendeten Access Pläne gelöscht. Ist der SQE Plan Cache zu klein gewählt, kann es natürlich vorkommen, dass auch relativ aktuelle Access Pläne aus dem Plan Cache verschwinden und eben NICHT mehr im ACS angezeigt werden.

    Langer Rede kurzer Sinn: Plan Cache ist immer aktuell
    Birgitta Hauser

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

  3. #3
    Registriert seit
    Nov 2020
    Beiträge
    330
    Danke Birgitta für die Aufklärung.
    In einigen IBM Dokumenten war nämlich die Rede davon, dass die Zugriffspläne im Programm gespeichert werden und gar kein Hinweis auf den Plan Cache.
    Da war ich jetzt verwirrt, denn das Internet lügt nie! :-D

    Ist also eine art Altlast die hier zu trage kommt.

    Danke dir!

  4. #4
    Registriert seit
    Aug 2001
    Beiträge
    2.873
    Zitat Zitat von Andreas_Prouza Beitrag anzeigen
    In einigen IBM Dokumenten war nämlich die Rede davon, dass die Zugriffspläne im Programm gespeichert werden und gar kein Hinweis auf den Plan Cache.
    Das stimmt ja auch ... SQE gibt es ja auch erst seit V5R2M0 (grin)
    aber ab und zu aktualisiert die IBM auch nicht alle Dokumente!
    Birgitta Hauser

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

  5. #5
    Registriert seit
    Nov 2020
    Beiträge
    330
    Das waren sogar Dokumente die 2018 und 2022 zuletzt aktualisiert wurden.
    Deshalb auch verwirrend. Dementsprechend auch nochmal Danke für die Aufklärung.
    Ich bin erst mit 5.2 in die IBM i Welt hinzugekommen ... Für mich unfassbar wie man davor arbeiten konnte :-D

  6. #6
    Registriert seit
    Jul 2001
    Beiträge
    2.646
    Zitat Zitat von Andreas_Prouza Beitrag anzeigen
    denn das Internet lügt nie! :-D
    DAS nenne ich mal gnadenloser Optimismus ;-)
    www.RZKH.de
    IBM Champion 2022, 2023, 2024
    IBM i Community Advocate https://www.youracclaim.com/badges/6...c-7ad4ba147af6
    Common / CEAC
    http://pub400.com

  7. #7
    Registriert seit
    Jun 2001
    Beiträge
    1.975
    Zitat Zitat von Andreas_Prouza Beitrag anzeigen
    ... Für mich unfassbar wie man davor arbeiten konnte :-D
    Aber Andreas....
    früher war alles besser
    Das Notwendige steht über dem technisch machbaren.
    (klingt komisch, funktioniert aber!)

  8. #8
    Registriert seit
    Feb 2001
    Beiträge
    20.238
    Ich habe sogar noch ohne Internet programmieren gelernt.
    Auch die AS/400 mit V2R1 ab 1992. Da hatten wir Datex/P-Netze.
    Es ging, man musste nur wollen;-).
    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

  9. #9
    Registriert seit
    Nov 2020
    Beiträge
    330

  10. #10
    Registriert seit
    Feb 2001
    Beiträge
    20.238
    Stimmt!
    Damals hatte man noch mit physischen Menschen zu tun.
    Man ging raus und traf sich außerhalb der eigenen Wohnung.
    Das Telefon hing noch fest an einer Schnur und der Klingelton war bereits eingebaut.
    Und dazu: Man hat nur halb so viel Energie verbraucht wie heute.
    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
    Jul 2001
    Beiträge
    2.646
    Zitat Zitat von Andreas_Prouza Beitrag anzeigen
    Ohne Internet?!?! Und dass nannte man Leben!?! :-D
    Damals gab es noch das Konzept "draussen".
    Fällt heute unter Feldforschung.
    www.RZKH.de
    IBM Champion 2022, 2023, 2024
    IBM i Community Advocate https://www.youracclaim.com/badges/6...c-7ad4ba147af6
    Common / CEAC
    http://pub400.com

  12. #12
    Registriert seit
    Jan 2012
    Beiträge
    1.120
    Zitat Zitat von Fuerchau Beitrag anzeigen
    ...
    Das Telefon hing noch fest an einer Schnur und der Klingelton war bereits eingebaut.
    ...
    Wenn man angerufen wurde, erübrigte sich die Frage des Anrufenden "Wo bist du denn gerade?".
    Man war natürlich zu Hause und dort nur wenige Meter vom Telefonanschluss entfernt. Kabelgebunden eben. Wenn man ein längeres Kabel am Telefon haben wollte (ich kannte Leute, die hatten ein 10 Meter Kabel), musste man das Extra Kabel für mehrere Mark im Monat mieten!

Similar Threads

  1. Einstellungen für den Plan Cache
    By dschroeder in forum IBM i Hauptforum
    Antworten: 6
    Letzter Beitrag: 29-11-22, 12:07
  2. Index Advisor, Anweisungen des plan-chache
    By wilfried in forum NEWSboard Programmierung
    Antworten: 4
    Letzter Beitrag: 23-02-18, 07:29
  3. Kein Plan: Cyberattacken
    By Burgy Zapp in forum Archiv NEWSblibs
    Antworten: 0
    Letzter Beitrag: 19-09-17, 18:18
  4. SQL Cache Resultsets
    By Fuerchau in forum NEWSboard Programmierung
    Antworten: 5
    Letzter Beitrag: 21-03-17, 08:39
  5. SQL Cache löschen
    By Fuerchau in forum NEWSboard Programmierung
    Antworten: 6
    Letzter Beitrag: 05-08-14, 21:54

Berechtigungen

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