Tuning SQL areas. (Pase Calls).
Hej med jer.Jeg er i gang med en memory tuning af en Oracle8.1.7 DB og er i den forbindelse stødt på et emne.
'Tuning Private SQL and PL/SQL Areas'.
Man kan køre en analyse-statment:
SELECT sql_text, parse_calls, executions
FROM v$sqlarea;
Hvis PARSE_CALLS ligger tæt på EXECUTIONS for en given statment bruger man kontinuerligt reparsing.
Eksempel fra udtræk:
SQL_TEXT PARSE_CALL EXECUTIONS
------------ ---------- ----------
COMMIT 11 483
Jeg tolker det således, at kommandoen COMMIT naturligvis er eksekveret 483 gange, men den er kun blevet erstattet i RAM'en 11 gange. Hvilket jo må være godt for performance!
Hvis PASE_CALL ligger tæt op af EXECUTIONS må det betyder, at der skal bruges ressourcer på ny analyse hver gang. Og der med erstatning i RAM'en. (Skidt).
Hvis jeg er et sidespor må I rette mig. (Jeg gætter lidt).
Men hvad så når der ud for en statment står:
SQL_TEXT PARSE_CALL EXECUTIONS
-------------------------------- ---------- ----------
SELECT * FROM MECHANICS.reghours 26 0
Hvordan skal den tolkes? Er der nogen der kender til dette?
