1. Distingue entre métricas de rendimiento: tiempo gastado, referencias globales, y comandos ejecutados
Puntos Clave
- Tiempo (Time Spent): Rendimiento general de consulta medido en segundos, representando duración total de ejecución
- Global Refs (Global References): Número de accesos de variable global de base de datos durante ejecución de consulta
- Comandos (Commands Executed): Número de líneas de código ObjectScript ejecutadas durante procesamiento de consulta
- Read Latency: Tiempo de espera de disco en milisegundos, midiendo impacto de rendimiento I/O
- Métricas recolectadas a nivel de módulo (consulta principal y subconsultas) basadas en opción Action
Notas Detalladas
Resumen de Métricas PTools
El SQL Performance Analysis Toolkit (PTools) proporciona tres métricas de rendimiento primarias que distinguen diferentes aspectos de comportamiento de ejecución de consulta. Comprender estas métricas es esencial para diagnosticar cuellos de botella de rendimiento y optimizar consultas SQL.
Tiempo (Time Spent)
Tiempo representa la métrica de rendimiento general, medida en segundos, indicando la duración total de ejecución de consulta. Esta métrica se recolecta a diferentes niveles dependiendo de la opción Action: opción Action 2 registra estadísticas solo para el loop externo de la consulta (recolectando estadísticas en la apertura y cierre de la consulta, que es la suma del tiempo total para realizar todas las invocaciones de OPEN, FETCH, y CLOSE), mientras opción Action 3 registra estadísticas para todos los niveles de módulo de la consulta. Cuando los módulos están anidados, las estadísticas del módulo MAIN son números inclusivos representando los resultados generales para la consulta completa.
Referencias Globales (Global Refs)
Global References mide el número de accesos de variable global hechos a la base de datos durante ejecución de consulta. Dado que InterSystems IRIS almacena datos persistentes en globals, esta métrica se correlaciona directamente con actividad I/O de base de datos. Un número alto de referencias globales puede indicar patrones de acceso a datos ineficientes, índices faltantes, o planes de consulta pobremente optimizados. Esta métrica es particularmente valiosa para identificar consultas que realizan full table scans en lugar de index scans.
Comandos (Commands Executed)
Commands rastrea el número de líneas de código ObjectScript ejecutadas durante procesamiento de consulta. Esta métrica refleja la complejidad computacional del plan de ejecución de consulta. Conteos de comando más altos pueden indicar lógica de consulta compleja, múltiples iteraciones de loop, o rutas de ejecución ineficientes. Cuando se combina con métricas Time y Global Refs, Commands ayuda a distinguir entre operaciones ligadas a CPU (alto Commands, bajo Global Refs) y operaciones ligadas a I/O (alto Global Refs, Commands más bajo relativo a tiempo).
Read Latency y Visualización de Estadísticas
El framework PTools también proporciona Read Latency medido en milisegundos, que específicamente rastrea tiempo de espera de disco y ayuda a identificar cuellos de botella I/O. Estas estadísticas se muestran para Query Totals y para cada módulo de Query plan cuando se usa la característica Alternate Show Plans con opción "Compare Show Plans with Stats". El parámetro opción Collect (valor predeterminado 15 = 1 + 2 + 4 + 8) controla qué estadísticas de rendimiento específicas se recolectan, permitiendo recolección selectiva basada en requisitos de análisis.
Referencias de Documentación
2. Usa métodos %SYSTEM.SQL.PTools para activar recolección de estadísticas de rendimiento
Puntos Clave
- %SYSTEM.SQL.PTools: API preferida para invocar funcionalidad de análisis de rendimiento SQL
- setSQLStatsFlag(): Activación de recolección de estadísticas a nivel de sistema
- setSQLStatsFlagByNS(): Recolección de estadísticas específica de namespace
- setSQLStatsFlagJob(): Recolección de estadísticas de proceso/trabajo actual
- setSQLStatsFlagByPID(): Recolección de estadísticas de proceso/trabajo específico por Process ID
Notas Detalladas
La API %SYSTEM.SQL.PTools
La clase %SYSTEM.SQL.PTools proporciona la API preferida para invocar funcionalidad del SQL Performance Analysis Toolkit a través de ObjectScript. Esta interfaz reagrupa y reorganiza funcionalidad implementada en métodos de las clases base %SYS.PTools, proporcionando una interfaz más limpia e intuitiva para desarrolladores y administradores de base de datos.
Métodos de Alcance de Recolección
El toolkit ofrece múltiples métodos para iniciar recolección de estadísticas de rendimiento en diferentes alcances:
- setSQLStatsFlag(): Activa recolección para el sistema entero, afectando todos los namespaces y procesos
- setSQLStatsFlagByNS(): Habilita recolección de estadísticas para un namespace específico, permitiendo análisis dirigido sin impacto de rendimiento a nivel de sistema
- setSQLStatsFlagJob(): Activa recolección para el proceso o trabajo actual, haciéndolo ideal para analizar flujos de trabajo de aplicación específicos
- setSQLStatsFlagByPID(): Permite activación para un proceso o trabajo especificado por Process ID, con manejo especial: si el primer parámetro no se especifica, se especifica como $JOB, o se especifica como cadena vacía (""), invoca setSQLStatsFlagJob() en su lugar
Sintaxis de Invocación
Estos métodos pueden invocarse desde ObjectScript o desde SQL como procedimientos almacenados. Desde SQL, la sintaxis es: `SELECT %SYSTEM_SQL.PTools_setSQLStatsFlag(2,,8)`. Desde ObjectScript, la sintaxis es: `SET rtn=##class(%SYSTEM.SQL.PTools).setSQLStatsFlag(2,,8)`. Todos los métodos toman un parámetro entero de opción Action y retornan una cadena separada por dos puntos, el primer elemento de la cual es el valor de opción Action previo. Este valor de retorno habilita verificar configuraciones previas antes de hacer cambios.
Interfaz del Management Portal
El Management Portal proporciona una interfaz gráfica para activar estadísticas de rendimiento desde la pestaña Settings en la página SQL Runtime Statistics, accesible vía System Explorer > Tools > SQL Performance Tools > SQL Runtime Statistics, o System Explorer > SQL > Tools > SQL Runtime Statistics. Esta interfaz simplifica configuración para administradores que prefieren gestión basada en GUI sobre control programático.
3. Configura opciones Action para controlar alcance de recolección de estadísticas
Puntos Clave
- Action 0: Desactivar generación de código de estadísticas completamente
- Action 1: Activar generación de código de estadísticas pero no recolectar estadísticas (predeterminado)
- Action 2: Registrar estadísticas solo para loop externo (módulo de consulta principal)
- Action 3: Registrar estadísticas para todos los niveles de módulo (consulta principal y todas las subconsultas)
- setSQLStatsFlagJob() usa -1 para desactivar estadísticas de trabajo, 0 para usar configuración de sistema
Notas Detalladas
Propósito de Opciones Action
El parámetro de opción Action controla el alcance y comportamiento de recolección de estadísticas en el framework PTools. Comprender estas opciones es crítico para balancear necesidades de análisis de rendimiento con sobrecarga del sistema.
Métodos a Nivel de Sistema y Namespace (setSQLStatsFlag, setSQLStatsFlagByNS)
Para métodos setSQLStatsFlag() y setSQLStatsFlagByNS():
- Action 0: Desactiva generación de código de estadísticas completamente, deshabilitando todo rastreo de rendimiento
- Action 1 (predeterminado): Activa generación de código de estadísticas para todas las consultas pero no recolecta estadísticas, preparando consultas para análisis potencial sin incurrir sobrecarga de recolección
- Action 2: Registra estadísticas solo para el loop externo de la consulta, recolectando estadísticas en la apertura y cierre de la consulta, que representa la suma del tiempo total para realizar todas las invocaciones de OPEN, FETCH, y CLOSE. Esta opción proporciona métricas generales de rendimiento de consulta con sobrecarga mínima
- Action 3: Registra estadísticas para todos los niveles de módulo de la consulta, incluyendo el módulo principal y todos los módulos de subconsulta. Cuando los módulos están anidados, las estadísticas del módulo MAIN son números inclusivos representando resultados generales para la consulta completa
Métodos Específicos de Trabajo (setSQLStatsFlagJob, setSQLStatsFlagByPID)
Para métodos setSQLStatsFlagJob() y setSQLStatsFlagByPID(), las opciones Action difieren ligeramente:
- Action -1: Desactiva estadísticas para el trabajo específico
- Action 0 (predeterminado): Usa el valor de configuración del sistema
- Actions 1, 2, y 3: Igual que setSQLStatsFlag() y sobrescriben la configuración del sistema
Transición Entre Opciones Action
La transición entre opciones Action requiere comprender requisitos de compilación:
- 0 a 1: Requiere compilar Routines y Classes que contengan SQL para realizar generación de código de estadísticas, y purgar consultas en caché para forzar regeneración de código cuando se trabaja con Dynamic SQL o drivers de base de datos
- 1 a 2: Simplemente requiere cambiar la opción action para comenzar a recolectar estadísticas, permitiendo que análisis de rendimiento SQL sea habilitado en entornos de producción en ejecución con disrupción mínima
- 1 a 3 (o 2 a 3): Requiere compilar Routines y Classes nuevamente y purgar consultas en caché. Opción Action 3 comúnmente solo se usa en consultas identificadas con rendimiento pobre en entornos no de producción debido a sobrecarga significativa
- 1, 2, o 3 a 0: No requiere purgar consultas en caché
Referencias de Documentación
4. Usa opción Collect para especificar qué estadísticas de rendimiento recolectar
Puntos Clave
- Opción Collect: Especifica qué estadísticas de rendimiento recolectar cuando Action es 2 o 3
- Valores enteros: Agregar valores juntos para seleccionar múltiples estadísticas (predeterminado 15 = 1 + 2 + 4 + 8)
- Comportamiento predeterminado: Recolectar todas las estadísticas (valor 15)
- Valor de retorno incluye opción Collect como segundo elemento separado por dos puntos
- Habilita análisis dirigido mientras reduce sobrecarga para casos de uso específicos
Notas Detalladas
Cuándo Aplica Opción Collect
Cuando la opción Action está establecida a 2 o 3, el parámetro de opción Collect permite control de grano fino sobre qué estadísticas de rendimiento se recolectan. Esta capacidad es valiosa para reducir sobrecarga en entornos de producción donde solo se necesitan métricas específicas para análisis.
Sistema de Valor Bitmask
La opción Collect se especifica agregando juntos valores enteros asociados con cada tipo de estadística a recolectar. El framework usa un enfoque bitmask donde cada tipo de estadística está representado por una potencia de 2: valor 1 representa un tipo de métrica, valor 2 representa otro, valor 4 representa un tercer, y valor 8 representa un cuarto tipo de métrica. El valor predeterminado de 15 (1 + 2 + 4 + 8) recolecta todas las estadísticas disponibles, proporcionando datos de rendimiento completos al costo de sobrecarga máxima.
Verificación de Configuraciones Actuales
Los métodos de familia setSQLStatsFlag retornan el valor previo de la opción Collect como segundo elemento separado por dos puntos en la cadena de retorno. Los administradores pueden determinar configuraciones actuales usando métodos o procedimientos almacenados getSQLStatsFlag() o getSQLStatsFlagByPID(). Cuando todas las estadísticas se recolectan (el predeterminado), estos métodos retornan 15 como valor del segundo elemento. Este mecanismo de retorno habilita a administradores preservar y restaurar configuraciones previas al hacer cambios de configuración temporales.
Balanceo de Sobrecarga y Perspectivas
Al seleccionar valores específicos de opción Collect, administradores de base de datos pueden balancear la necesidad de perspectivas de rendimiento con preocupaciones de sobrecarga del sistema. Por ejemplo, recolectar solo métricas Time y Global Refs (omitiendo Commands y Read Latency) usaría un valor Collect más pequeño, reduciendo el costo computacional de recolección de estadísticas mientras aún proporciona indicadores clave de rendimiento para identificar consultas lentas y patrones de I/O de base de datos excesivos. La documentación de referencia de clase %SYSTEM.SQL.PTools proporciona información detallada sobre valores enteros específicos y sus tipos de métrica correspondientes.
Referencias de Documentación
5. Perfila consultas específicas usando palabras clave %PROFILE y %PROFILE_ALL
Puntos Clave
- %PROFILE: Equivalente a setSQLStatsFlagJob(2), recolecta estadísticas solo para módulo de consulta principal
- %PROFILE_ALL: Equivalente a setSQLStatsFlagJob(3), recolecta estadísticas para consulta principal y todas las subconsultas
- Adjuntar palabras clave directamente a sentencias SELECT, INSERT, UPDATE, o DELETE
- Evita drenaje de recursos de recolección a nivel de sistema o namespace
- Mejor usado para análisis concertado de consultas problemáticas específicas identificadas
Notas Detalladas
Propósito de Perfilado de Palabra Clave
Las palabras clave %PROFILE y %PROFILE_ALL proporcionan un enfoque dirigido para análisis de rendimiento habilitando recolección de estadísticas para sentencias SQL individuales sin activar perfilado a nivel de sistema o namespace. Esta capacidad es esencial para analizar consultas específicas después de que investigación preliminar ha identificado problemas potenciales de rendimiento.
%PROFILE vs %PROFILE_ALL
La palabra clave %PROFILE es equivalente a setSQLStatsFlagJob(2) y recolecta estadísticas solo para el módulo de consulta principal. La sintaxis es directa: adjuntar %PROFILE a una sentencia SELECT, INSERT, UPDATE, o DELETE. Por ejemplo:
- `SELECT %PROFILE_ALL * FROM Sample.Person`
- `INSERT %PROFILE INTO TableName VALUES (...)`
- `UPDATE %PROFILE TableName SET ...`
- `DELETE %PROFILE FROM TableName WHERE ...`
La palabra clave %PROFILE_ALL es equivalente a setSQLStatsFlagJob(3) y recolecta estadísticas para el módulo de consulta principal y todos sus módulos de subconsulta, proporcionando datos de rendimiento completos para consultas complejas con componentes anidados.
Ventajas Sobre Recolección a Nivel de Sistema
Este enfoque basado en palabra clave evita el drenaje sustancial de recursos que acompaña recolectar estadísticas a través del sistema entero o un namespace específico. Mientras la recolección a nivel de sistema proporciona amplitud de información útil para identificar qué consultas necesitan atención, el perfilado basado en palabra clave proporciona profundidad de información para consultas específicas que ya han sido identificadas como problemáticas. El enfoque de palabra clave se usa mejor para análisis concertado de consultas específicas para examinar consultas particulares una vez que ha identificado los esquemas o configuraciones que no están funcionando tan bien como se esperaba.
Mejores Prácticas
Es importante no agregar la palabra clave %PROFILE a muchas consultas en un intento de recolectar estadísticas sobre una sección grande del sistema. Hacer esto derrota el propósito de perfilado dirigido y puede impactar significativamente el rendimiento general del sistema. En su lugar, el flujo de trabajo recomendado es: 1. Usar SQL Runtime Statistics para identificar consultas problemáticas 2. Usar palabras clave %PROFILE o %PROFILE_ALL en esas consultas específicas para análisis detallado 3. Usar las estadísticas detalladas para guiar esfuerzos de optimización como creación de índice, reescritura de consulta, o ajustes de esquema
Referencias de Documentación
6. Exporta y analiza estadísticas de rendimiento usando exportSQLStats()
Puntos Clave
- exportSQLStats(): Método para exportar datos de estadísticas a archivo o terminal
- Invocado desde SQL usando CALL %SYSTEM_SQL.PTools_exportSQLStats('$IO')
- Invocado desde ObjectScript usando ##class(%SYSTEM.SQL.PTools).exportSQLStats("$IO")
- Opciones de formato: H (HTML) desde SQL predeterminado, T (texto) desde ObjectScript predeterminado
- StatsSQLView: Interfaz de consulta para ver estadísticas en formato tabular
Notas Detalladas
El Método exportSQLStats()
Después de recolectar estadísticas de rendimiento usando PTools, el método exportSQLStats() proporciona el mecanismo para exportar datos de estadísticas a un archivo o mostrarlo en la terminal para análisis. Este método es parte de la clase %SYSTEM.SQL.PTools y soporta invocación desde contextos tanto SQL como ObjectScript.
Sintaxis de Invocación y Opciones de Formato
Desde SQL, el método se invoca usando la sentencia CALL: `CALL %SYSTEM_SQL.PTools_exportSQLStats('$IO')`. Esta sintaxis usa por defecto formato H (HTML), que produce salida formateada adecuada para ver en navegadores web o visores capaces de HTML. Desde ObjectScript, el método se invoca como: `SET status=##class(%SYSTEM.SQL.PTools).exportSQLStats("$IO")`. Esta sintaxis usa por defecto formato T (texto), que produce salida de texto plano adecuada para visualización de terminal o almacenamiento de archivo de texto. El parámetro '$IO' dirige salida al dispositivo actual, típicamente la terminal. Para exportar a archivo, especificar una ruta de archivo en lugar de '$IO'.
Alternativa: Interfaz StatsSQLView
Una alternativa a exportSQLStats() es consultar la interfaz %SYS_PTools.StatsSQLView, que presenta estadísticas recolectadas en formato de conjunto de resultados SQL tabular. Este enfoque habilita usar herramientas y técnicas SQL estándar para filtrar, ordenar, y analizar datos de rendimiento. Código ObjectScript ejemplo: ```objectscript SET qStatus = tStatement.%Prepare("SELECT * FROM %SYS_PTools.StatsSQLView") SET rsstats = tStatement.%Execute() DO rsstats.%Display() ``` Este enfoque es particularmente útil para integrar análisis de rendimiento en scripts de monitoreo automatizado o herramientas de reporte personalizadas.
Flujo de Trabajo de Exportación Típico
El flujo de trabajo típico para usar exportSQLStats() involucra: 1. Limpiar estadísticas previas usando clearSQLStatsALL() 2. Activar recolección de estadísticas usando setSQLStatsFlagJob() o setSQLStatsFlag() 3. Ejecutar la consulta a ser analizada 4. Llamar exportSQLStats() para ver las estadísticas recolectadas
Los datos exportados incluyen todas las métricas configuradas por la opción Collect, incluyendo Time, Global Refs, Commands, y Read Latency para cada módulo de consulta. Estos datos completos habilitan diagnóstico detallado de cuellos de botella de rendimiento y proporcionan evidencia cuantitativa para decisiones de optimización.
Referencias de Documentación
7. Configura opción Terminate para recolección de estadísticas limitada por tiempo
Puntos Clave
- Opción Terminate: Especifica cuándo la recolección de estadísticas debería detenerse automáticamente
- Período transcurrido: Especificado en minutos (ej., "M:120:1" para 120 minutos)
- Timestamp especificado: Tiempo absoluto cuando la recolección debería terminar
- Reinicio Action: Especifica a qué opción Action reiniciar cuando el período transcurra
- Valor de retorno codificado como quinto elemento separado por dos puntos en cadena de retorno de método
Notas Detalladas
Comportamiento Predeterminado y Propósito de Opción Terminate
La recolección de estadísticas continúa hasta que se termina explícitamente por defecto. Sin embargo, la opción Terminate proporciona capacidades de terminación automática esenciales para entornos de producción donde la recolección de estadísticas indefinida podría impactar rendimiento o consumir almacenamiento excesivo.
Especificación de Parámetros de Terminación
Por defecto, la recolección continúa indefinidamente hasta terminarse emitiendo otro método setSQLStatsFlag[nnn](). Cuando la opción Action está establecida a 1, 2, o 3, los administradores pueden especificar un parámetro de opción Terminate consistente en ya sea un período transcurrido en minutos o un timestamp especificado. La opción Terminate también especifica la opción Action a reiniciar cuando ese período transcurra. Por ejemplo, la cadena "M:120:1" establece M (minutos transcurridos) a 120 minutos, al final de los cuales la opción Action se reinicia a 1. Todas las demás opciones se reinician a los valores predeterminados apropiados para esa opción Action.
Casos de Uso de Producción
Esta capacidad de terminación automática es particularmente valiosa en entornos de producción donde habilitar recolección de estadísticas detallada (Action 3) para solución de problemas debería ser limitada por tiempo para prevenir impacto de rendimiento continuo:
- "M:60:2": Recolectar estadísticas detalladas a nivel de módulo por una hora, luego automáticamente degradar a Action 2 (solo loop externo) para monitoreo continuo con sobrecarga más baja
- "M:1:2": Recolectar estadísticas intensivas por solo un minuto antes de reiniciar, como se demuestra en los ejemplos de documentación
Formato de Valor de Retorno
Los métodos de familia setSQLStatsFlag retornan el valor previo de la opción Terminate como quinto elemento separado por dos puntos en la cadena de retorno, codificado como valor que representa la configuración de terminación. Los administradores pueden examinar configuraciones actuales usando métodos getSQLStatsFlag() o getSQLStatsFlagByPID(). El formato de retorno separado por dos puntos es: `Action:Collect:Namespace1:Namespace2:Terminate:FlagType`, donde el valor Terminate codifica las configuraciones de terminación para inspección y restauración programática.
Referencias de Documentación
8. Distingue entre SQL Runtime Statistics y análisis de rendimiento PTools
Puntos Clave
- SQL Runtime Statistics: Monitoreo de rendimiento general siempre activo (Avg Time, Run Count, Avg Rows, Avg Commands)
- PTools Performance Analysis: Perfilado activo para sentencias SQL específicas con métricas detalladas
- Runtime Statistics tienen sobrecarga mínima, escritas a intervalos (hasta 30 minutos de retraso)
- PTools puede incrementar significativamente carga del servidor, destinado para análisis dirigido
- Usar Runtime Statistics para identificar problemas, PTools para diagnosticarlos
Notas Detalladas
Dos Enfoques para Monitoreo de Rendimiento
InterSystems IRIS proporciona dos enfoques distintos para monitoreo de rendimiento: SQL Runtime Statistics y el SQL Performance Analysis Toolkit (PTools). Comprender cuándo usar cada enfoque es esencial para gestión efectiva de rendimiento.
SQL Runtime Statistics
SQL Runtime Statistics proporciona monitoreo de rendimiento general siempre activo que no puede desactivarse. Estas estadísticas se recolectan cuando operaciones de consulta se preparan y son visibles desde tablas INFORMATION_SCHEMA.STATEMENTS, STATEMENT_DAILY_STATS, y STATEMENT_HOURLY_STATS. Runtime statistics incluyen:
- Avg Time: Duración promedio de tiempo que la consulta toma en segundos
- Run Count: Número de veces que la consulta ha sido ejecutada
- Avg Rows: Número promedio de filas retornadas
- Avg Commands: Número promedio de comandos ejecutados
Para asegurar recolección eficiente de estadísticas, los datos se escriben solo a intervalos establecidos, que puede resultar en retrasos de hasta 30 minutos antes de que las estadísticas aparezcan. Una tarea del sistema ejecuta automáticamente una vez por hora en todos los namespaces para agregar estadísticas específicas de proceso en estadísticas globales.
SQL Performance Analysis Toolkit (PTools)
El SQL Performance Analysis Toolkit proporciona capacidades de perfilado activo para sentencias SQL específicas o grupos de sentencias. PTools recolecta información detallada sobre ejecución incluyendo Time, Global Refs, Commands, y Read Latency a nivel de módulo. Sin embargo, el perfilado activo puede incrementar significativamente la carga en el servidor. Por lo tanto, PTools está destinado para esfuerzos de análisis de código concertado después de examinar SQL Runtime Statistics para determinar qué consultas específicas necesitan examen más cercano. No está destinado para monitoreo continuo de código en ejecución.
Flujo de Trabajo Combinado Recomendado
El flujo de trabajo recomendado combina ambos enfoques: usar SQL Runtime Statistics para monitoreo continuo para identificar consultas con Avg Time pobre o Avg Commands alto, luego usar PTools (vía métodos setSQLStatsFlag o palabras clave %PROFILE) para análisis detallado de consultas problemáticas identificadas. La herramienta Alternate Show Plans une ambos enfoques mostrando estadísticas estimadas normalmente, pero estadísticas de runtime reales cuando recolección PTools está activada. Esta combinación proporciona gestión de rendimiento completa: identificación amplia vía Runtime Statistics, diagnóstico profundo vía PTools, y sobrecarga mínima durante operaciones normales.
Referencias de Documentación
Resumen de Preparación para el Examen
Conceptos Críticos a Dominar:
- Métricas de Rendimiento: Comprender las distinciones entre Time (duración de ejecución), Global Refs (I/O de base de datos), Commands (ejecución de código), y Read Latency (espera de disco)
- Opciones Action: Saber cuándo usar Action 0, 1, 2, y 3, y comprender requisitos de compilación al transicionar entre ellos
- Control de Alcance: Distinguir entre métodos a nivel de sistema (setSQLStatsFlag), específicos de namespace (setSQLStatsFlagByNS), específicos de trabajo (setSQLStatsFlagJob), y específicos de proceso (setSQLStatsFlagByPID)
- Perfilado de Palabra Clave: Comprender %PROFILE vs. %PROFILE_ALL y cuándo usar perfilado basado en palabra clave en lugar de activación basada en método
- Runtime Statistics vs. PTools: Conocer las diferencias en propósito, sobrecarga, y casos de uso para cada enfoque
Escenarios Comunes de Examen:
- Identificar qué opción Action es apropiada para escenario de análisis de rendimiento dado
- Distinguir entre métricas (Time vs. Global Refs vs. Commands) para diagnosticar problemas de rendimiento específicos
- Seleccionar método PTools apropiado para diferentes alcances (sistema, namespace, trabajo, proceso)
- Comprender cuándo usar palabras clave %PROFILE versus métodos setSQLStatsFlag
- Interpretar valores de opción Collect y comprender el valor predeterminado de 15
- Configurar opciones Terminate para solución de problemas de producción limitada por tiempo
Recomendaciones de Práctica Práctica:
- Ejecutar consultas con palabras clave %PROFILE y %PROFILE_ALL y comparar la salida de estadísticas
- Usar setSQLStatsFlagJob() con Actions 2 y 3 para ver la diferencia en reporte a nivel de módulo
- Practicar exportación de estadísticas usando exportSQLStats() tanto a terminal como archivo
- Consultar %SYS_PTools.StatsSQLView para analizar estadísticas recolectadas
- Configurar opciones Terminate para escenarios de reinicio automático
- Comparar SQL Runtime Statistics con estadísticas detalladas PTools para la misma consulta
- Usar Alternate Show Plans para ver Time, Global Refs, Commands, y Read Latency para diferentes planes de ejecución