Puede crear, validar y desplegar una sugerencia de optimización para una sentencia de
SQL que se ejecuta sobre un subsistema DB2 para z/OS.
Con una sugerencia de optimización, puede establecer criterios para ayudar al optimizador de DB2 a
seleccionar el plan ejecución óptimo para la sentencia de SQL.
Acerca de esta tarea
Ofrecer sugerencias de optimización a
DB2 es útil en las siguientes
situaciones:- Desea asegurar la coherencia de tiempos de respuesta en las operaciones de
volver a vincular y en las migraciones de release. Cuando se vuelve a vincular un plan o paquete, se vuelve a formular la vía de
acceso. Si la base de datos o la aplicación ha cambiado, o si DB2 tiene una nueva función que hace que escoja un plan de acceso diferente, puede parecerle útil utilizar un plan de acceso antiguo si el nuevo plan no funciona igual de bien.
- Desea omitir temporalmente el plan de acceso seleccionado por
DB2.
Las sugerencias de optimización constan de tres tipos de sugerencias diferentes:
- Sugerencias PLAN_TABLE
- Este tipo de sugerencia intenta imponer una determinada vía de acceso para una sentencia SQL emitida por un ID de autorización único específico. Utiliza filas en una instancia PLAN_TABLE propiedad del mismo ID de autorización para aplicar sugerencias que se basan en los valores especificados para la opción de vínculo OPTHINT o el registro especial CURRENT
OPTIMIZATION HINT.
- Sugerencias de vía de acceso de nivel de la sentencia (DB2 10 para z/OS NFM o posterior)
- Este tipo de sugerencia especifica que DB2 intenta utilizar las filas PLAN_TABLE especificadas para determinar la vía de acceso para que coincidan las sentencias SQL. También puede crear sugerencias de vías de acceso que se apliquen solo a sentencias coincidentes de un ámbito específico.
- Sugerencias de parámetros de optimización (DB2 10 para z/OS NFM o posterior)
- Este tipo de sugerencia especifica que DB2 utiliza ciertos parámetros de optimización, como los siguientes parámetros y opciones del subsistema, para procesar todas las sentencias que coincidan con la sugerencia:
- Opción de vinculación REOPT
- Parámetro de subsistema STARJOIN
- Parámetro de subsistema PARAMDEG (columna MAX_PAR_DEGREE)
- Parámetro de subsistema CDSSRDEF (columna DEF_CURR_DEGREE)
- Parámetro de subsistema SJTABLES
También puede crear sugerencias que se apliquen solo a sentencias coincidentes de un ámbito específico.
No puede desplegar más de un tipo de sugerencia a la vez.
Sin embargo, puede desplegar diferentes tipos de sugerencias para una sentencia SQL única secuencialmente. Consulte "
Coexistencia de sugerencias de optimización".
Consejo: Si no está seguro de qué tipo de sugerencia es la adecuada para su situación, puede definir los tres tipos en el editor y desplegarlos de uno en uno para la prueba.
Procedimiento
Para crear, validar y desplegar una sugerencia de optimización:
- Capture o seleccione la sentencia SQL para la que desee crear una sugerencia de optimización.
- Si desea trabajar desde una sentencia SQL capturada única, siga estos pasos:
- Capture la sentencia SQL que desea ajustar. Consulte
Ubicaciones
desde las que puede capturar un sentencia SQL para el ajuste de consultas
únicas.
- Seleccione la sentencia y pulse el botón Ajustar sentencia. Se abre la página Ejecutar asesores de consulta única y herramientas
de análisis en la sección Invocar.
- Si desea trabajar desde una sentencia SQL que esté en una carga de trabajo de consulta, siga estos pasos:
- Pulse la pestaña Gestionar del lado izquierdo
del asistente de flujos de trabajo.
- En la página Gestionar cargas de trabajo, seleccione la carga de trabajo de consulta que contiene la sentencia SQL.
- En el campo Más acciones, seleccione Mostrar sentencias.
- En la página Mostrar sentencias, pulse con el botón derecho del ratón sobre la sentencia SQL y seleccione Ejecutar asesores de consulta única y herramientas en la sentencia seleccionada. Se abre la página Ejecutar asesores y herramientas de consulta única de la sección Invocar.
- En el lado izquierdo del asistente de flujos de trabajo, bajo
Consulta única, expanda Avanzado
y seleccione Crear sugerencia de optimización. El asistente de flujos de trabajo abre la página Personalizar
plan de acceso con sugerencia de optimización de la sección
Revisar.
La página contiene tres secciones:
- Diagrama de unión
- Un diagrama de unión muestra esta información:
- Las tablas que tocará la consulta, que el diagrama muestra como nodos
- Las relaciones entre las tablas, que el diagrama muestra como líneas entre
los nodos y que se generan en función del análisis de los predicados de la
consulta
- Predicados tanto locales como de unión
Efectuar una doble pulsación en una tabla para personalizar cómo se hace
referencia a la tabla en el plan de acceso para la sentencia de SQL. La
personalización aparece en la tabla en la sección Visión
general en la parte inferior de la
página. La personalización no está aún activa. Puede continuar añadiendo otras
personalizaciones a la sugerencia de optimización.
- Diagrama de secuencias de unión editable
- Un diagrama de secuencias de unión muestra la secuencia de unión de las
tablas para el plan de acceso especificado. Puede realizar las acciones siguientes:
- Suprimir nodos seleccionados
- Añadir un nodo de referencia de tabla
- Efectuar una doble pulsación en una tabla para personalizar cómo se hace
referencia a la tabla en el plan de acceso para la sentencia de SQL.
- Añadir un nodo de operador de unión
- Efectuar una doble pulsación en un nodo de operador de unión para cambiar
la unión a un tipo distinto de unión.
- Arrastrar una tabla encima de otra tabla para cambiar las posiciones de
dichas tablas en la secuencia de unión
Todos los cambios que realice
a la secuencia de unión existente se listan en la tabla Visión general en la
parte inferior de la página. El asistente de flujo de trabajo los comprueba
inmediatamente. Los errores y avisos se visualizan en la sección
Problemas de la parte inferior de la
página.Si desea eliminar todos los cambios que ha realizado en una
secuencia de unión, pulse Secuencia de unión
predeterminada.
- Definición de sugerencia
- Cuando se realiza un cambio en el diagrama de unión o en el diagrama de
secuencia de unión, se añade una nueva fila en esta sección. Si el asistente de
flujos de trabajo detecta algún error en la entrada, tiene un aviso relacionado
con la entrada o sugiere un cambio en la entrada, aparece un indicador en la
pestaña Problemas.
Pulse en dicha pestaña para ver la información.
- Cree una sugerencia de optimización.
- Si desea crear una sugerencia PLAN_ABLE o una sugerencia de vía de acceso de nivel de sentencia, puede hacerlo realizando cambios en el diagrama de unión y el diagrama de secuencias de unión. Cuando se realiza un cambio en el diagrama de unión o en el diagrama de
secuencia de unión, se añade una nueva fila a la subsección Acceso de tabla de la sección Definición de sugerencia. Si el asistente de
flujos de trabajo detecta algún error en la entrada, tiene un aviso relacionado
con la entrada o sugiere un cambio en la entrada, aparece un indicador en la
pestaña Problemas.
Pulse en dicha pestaña para ver la información.
- Si desea crear una sugerencia de parámetro de optimización, puede hacerlo cambiando valores en la subsección Parámetros de optimización de la sección Definición de sugerencia.
- Valide la sugerencia de optimización. Cuando tenga las entradas que desea en la sección Definición
de sugerencia, haya resuelto los errores y haya respondido a todos
los avisos, pulse el icono Validar sugerencia en la
parte superior de la página.
En la ventana Validar sugerencia, personalice los parámetros
del entorno de aplicaciones o deje los valores predeterminados. Para obtener
información sobre estas opciones, pulse el icono de ayuda de la esquina
inferior izquierda de la ventana o pulse F1. Tras hacer clic en
Validar, aparece la ventana Resultado de la
validación de la sugerencia.
Para obtener ayuda sobre esta ventana, pulse el icono de ayuda de la esquina
inferior izquierda o pulse F1.
- Resuelva los problemas que ha encontrado el proceso de validación.
- Despliegue la sugerencia de optimización.
- Pulse le icono Desplegar la sugerencia.
- En la ventana Desplegar sugerencia, especifique
opciones, como el nombre de la sugerencia y el número que debe utilizarse para
identificar la secuencia SQL. Para obtener ayuda sobre esta ventana, pulse el icono de ayuda de la esquina
inferior izquierda o pulse F1.
- Pulse Desplegar.