Puede revisar la memoria caché de sentencias dinámicas
para identificar sentencias de SQL dinámico que pueden beneficiarse
de la estabilidad del plan de SQL dinámico.
Acerca de esta tarea
El objetivo es descubrir y evaluar las sentencias
dinámicas almacenadas en memoria caché que probablemente se capturen
y estabilicen cuando emita los mandatos START DYNQUERYCAPTURE.
Procedimiento
Para identificar sentencias de SQL dinámico a estabilizar:
- Borre y llene la tabla DSN_STATEMENT_CACHE.
Por ejemplo, puede emitir las siguientes sentencias:

DELETE FROM DSN_STATEMENT_CACHE_TABLE;
COMMIT;
EXPLAIN STMTCACHE ALL;
COMMIT;

- Consulte la tabla de memoria caché de la sentencia dinámica.
Por ejemplo, puede emitir la sentencia siguiente:

SELECT STMT_ID, STBLGRP, QUERY_HASH, PER_STMT_ID,
STABILIZED, CURSQLID, STAT_EXECB, STAT_CPU, STAT_ELAP,
STMT_TEXT
FROM DSN_STATEMENT_CACHE_TABLE
WHERE LITERAL_REPL = ''
AND STAT_EXECB > 10
AND CURSQLID = 'APP1ID'
ORDER BY STAT_EXECB DESC;

La cláusula WHERE de la sentencia de ejemplo aplica los
filtros siguientes:
WHERE LITERAL_REPL = ‘’
- Excluye sentencias con valores literales concentrados
AND STAT_EXECB >= 10
- Excluye sentencias que se ejecutan con poca frecuencia.
AND CURSQLID = 'APP1ID'
- Devuelve sólo consultas utilizadas por un SQLID concreto.
La cláusula ORDER BY STAT_EXECB DESC organiza el
resultado por la frecuencia de ejecución.
La consulta de ejemplo selecciona las siguientes columnas.
- STBLGRP
- El grupo de estabilización.
- QUERY_HASH
- Una clave hash generada desde el texto de la sentencia SQL, que
es un identificador estable.
- PER_STMT_ID
- El identificador de una sentencia de SQL dinámico estabilizada
cuando se carga desde el catálogo
- STABILIZED
- Si la sentencia ya se ha estabilizado. Es posible que la
sentencia se haya estabilizado en otro miembro después de que se
entra en la memoria caché.
- CURSQLID
- El identificador de autorización de SQL actual para la sentencia. Este
valor es útil para la captura selectiva de sentencias para
estabilización.
- STAT_EXECB
- El número de veces que se ha ejecutado la sentencia que es útil
para determinar el umbral para capturar sentencias.
- STAT_CPU y STAT_ELAP
- Las características de rendimiento de la sentencia.
- STMT_TEXT
- El texto de la sentencia.
- Analice el resultado de la consulta para responder a las
siguiente preguntas
- ¿Cuántas consultas se pueden estabilizar para un umbral
determinado?
- ¿Es aceptable el rendimiento existente? No desea estabilizar un
rendimiento bajo.