Creación y despliegue de sugerencias de optimización para sentencias SQL que se ejecutan en DB2 para z/OS

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.

Antes de empezar

Acerca de esta tarea

Ofrecer sugerencias de optimización a DB2 es útil en las siguientes situaciones:
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 del nivel de la sentencia (DB2 10 para z/OS NFM solo)
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ámetro de optimización (DB2 10 para z/OS NFM solo)
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:

  1. 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:
      1. Capture la sentencia SQL que desea ajustar. Consulte Ubicaciones desde las que puede capturar un sentencia SQL para el ajuste de consultas únicas.
      2. Seleccione la sentencia y pulse el botón Invocar asesores y herramientas. 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:
      1. Pulse la pestaña Gestionar del lado izquierdo del asistente de flujos de trabajo.
      2. En la página Gestionar cargas de trabajo, seleccione la carga de trabajo de consulta que contiene la sentencia SQL.
      3. En el campo Más acciones, seleccione Mostrar sentencias.
      4. 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.
  2. 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.
  3. 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.
  4. 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.
  5. Resuelva los problemas que ha encontrado el proceso de validación.
  6. Despliegue la sugerencia de optimización.
    1. Pulse le icono Desplegar la sugerencia.
    2. 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.
    3. Pulse Desplegar.

Feedback