Búsqueda y aplicación de los cambios realizados a los planes de acceso después de realizar cambios a la estructura y autorizaciones de la base de datos

Las actualizaciones realizadas en una estructura de base de datos (como alterar una tabla, crear un índice o descartar un índice) y las modificaciones en la autorización del usuario pueden cambiar el plan de acceso para las sentencias SQL y afectar al rendimiento.

Antes de empezar

Asegúrese de que los requisitos previos se cumplan.

Acerca de esta tarea

En este procedimiento, antes de cambiar la estructura y autorizaciones de la base de datos, cree y explique una carga de trabajo de consulta que contenga las sentencias SQL que están en su aplicación. A continuación, cambie la estructura y autorizaciones de la base de datos. Finalmente, cree y explique otra carga de trabajo de consulta que contenga las sentencias SQL de su aplicación y compare la instantánea de explicación de la primera carga de trabajo de consulta con la instantánea de explicación de la segunda carga de trabajo de consulta.

Aunque este procedimiento utilice dos cargas de trabajo de consulta diferentes, puede crear una única carga de trabajo de consulta, explicarla, cambiar la estructura o autorizaciones de la base de datos y explicar de nuevo la carga de trabajo de consulta. Entonces podrá comparar las dos instantáneas de explicación.

Procedimiento

Para identificar y dirigir los cambios a planes de acceso debido a los cambios realizados a la estructura o autorizaciones de la base de datos:

  1. Cree una carga de trabajo de consulta de las sentencias SQL que estén en su aplicación.
    1. Capture las sentencias SQL.
    2. Después de capturar sentencias SQL, pulse el botón Guardar todo en una carga de trabajo.
    3. En la ventana Especificar nombre de carga de trabajo y descripción, especifique información para identificar la nueva carga de trabajo de consulta.
    Se abre la página Gestionar y ajustar cargas de trabajo en la sección Gestionar. La nueva carga de trabajo de consulta aparece en la tabla en esta página. El estado de la carga de trabajo de consulta es CAPTURADA.
  2. Explique la carga de trabajo de consulta.
    Nota: Si ha capturado las sentencias SQL desde los orígenes siguientes y ha decidido guardar la información de EXPLAIN al crear la carga de trabajo de consulta, no debe explicar la carga de trabajo de consulta.
    • DB2 para Linux, UNIX y Windows: supervisores de sucesos de actividades, tablas EXPLAIN, paquetes, antememoria de paquetes
    • DB2 para z/OS: planes de catálogo, paquetes y caché de sentencias dinámicas
    1. En la página Gestionar cargas de trabajo, seleccione la carga de trabajo de consulta y seleccione Explicar la carga de trabajo seleccionada en el campo Más acciones.
    2. En la ventana Recopilar información de EXPLAIN, especifique los valores opcionales para el entorno de ejecución de las sentencias SQL que se encuentran en la carga de trabajo de consulta.
  3. Realice cambios en los objetos o autorizaciones de la base de datos en DB2. Cuando haya acabado, si las sentencias son estáticas, vuelva a vincular los paquetes con la opción EXPLAIN establecida en YES y la opción ACTION establecida en REPLACE.
  4. Cree otra carga de trabajo de consulta de las sentencias SQL que estén en su aplicación.
    1. Capture las sentencias SQL.
    2. Después de capturar sentencias SQL, pulse el botón Guardar todo en una carga de trabajo.
    3. En la ventana Especificar nombre de carga de trabajo y descripción, especifique información para identificar la nueva carga de trabajo de consulta.
  5. Explique la carga de trabajo de consulta.
    Nota: Si ha capturado las sentencias SQL desde los orígenes siguientes y ha decidido guardar la información de EXPLAIN al crear la carga de trabajo de consulta, no debe explicar la carga de trabajo de consulta.
    • DB2 para Linux, UNIX y Windows: supervisores de sucesos de actividades, tablas EXPLAIN, paquetes, antememoria de paquetes
    • DB2 para z/OS: planes de catálogo, paquetes y caché de sentencias dinámicas
    1. En la página Gestionar cargas de trabajo, seleccione la carga de trabajo de consulta y seleccione Explicar la carga de trabajo seleccionada en el campo Más acciones.
    2. En la ventana Recopilar información de EXPLAIN, especifique los valores opcionales para el entorno de ejecución de las sentencias SQL que se encuentran en la carga de trabajo de consulta.
  6. Compare las dos cargas de trabajo.
    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 haya explicado en el paso 2. A continuación, pulse el botón Comparar.
    3. En la ventana Seleccione para comparar con otra carga de trabajo o instantánea, seleccione la opción Comparar los planes de acceso para la carga de trabajo seleccionada con los planes de acceso para otra carga de trabajo y pulse Aceptar.
    4. Siga los pasos del asistente Comparar planes de acceso con los planes de acceso de otra carga de trabajo.
    5. Cuando finalice la comparación, busque los cambios realizados a planes de acceso y costes estimados. Si no hay cambios que requieran acción, ha finalizado la comparación. Sin embargo, si hay cambios que requieren acción, continúe con el siguiente paso.
  7. Si desea crear y ajustar una carga de trabajo de consulta que contenga las sentencias SQL con problemas de rendimiento, seleccione Crear una nueva carga de trabajo de consulta para ajustar en el campo Más acciones de la página Ver resultados de comparación mediante las instantáneas de explicación de carga de trabajo y sentencias SQL de la sección Comparar. Se abrirá el asistente Generar nueva carga de trabajo de consulta. En este asistente, puede establecer criterios para incluir sentencias SQL en la carga de trabajo de consulta. Después de haber creado la carga de trabajo de consulta, puede consultar estos pasos generales para ajustarla.
  8. Si desea crear sugerencias de optimización o perfiles de optimización para una o varias sentencias problemáticas, siga uno de estos pasos:
    1. Seleccione una sentencia en la lista de sentencias de las que haya comparado los planes de acceso.
    2. Pulse el botón Ver detalle en la parte superior de la lista.
    3. En la parte superior de la página Ver los resultados de la comparación por plan de acceso a sentencias SQL, pulse el botón Cree una sugerencia de optimización o el botón Crear un perfil de optimización. El botón que aparece depende de la conexión de base de datos con la que esté trabajando.
  9. Si desea utilizar el conjunto anterior de planes de acceso porque es mejor, seleccione el campo Bloquee los planes de acceso para todas las sentencias SQL en el campo Más acciones de la página Ver resultados de comparación mediante las instantáneas de explicación de carga de trabajo y sentencias SQL de la sección Comparar. Especifique la información necesaria en la ventana Generar scripts para bloquear planes de acceso. Después de generar los scripts, revíselos y guárdelos. A continuación, podrá desplegarlos de acuerdo con las instrucciones para su versión de DB2.
  10. Si las sentencias SQL son estáticas y ha ajustado una carga de trabajo de consulta de las sentencias problemáticas, ha creado sugerencias de optimización o perfiles de optimización, ha bloqueado planes de acceso, vuelva a vincular los paquetes. Establezca la opción EXPLAIN en YES, si desea poder utilizar la instantánea EXPLAIN de hora de enlace en futuras comparaciones.

Comentarios