¿Cómo uso DB2 Explain?

¿Cómo uso la function de Explicación de DB2? – Tanto para ejecutarlo como para usarlo para optimizar las consultas. ¿Hay una mejor herramienta disponible para DB2?

He creado consultas antes, pero la única forma en que he tenido que decir cuánto tardarían es en ejecutarlas y cronometrarlas, lo cual no es ideal.

Editar: La respuesta para mí resultó ser "No puedes. No tienes y no puedes get el acceso". ¿No te gusta la burocracia?

Lo que está buscando está cubierto por dos utilidades de DB2:

  1. La utilidad de explicación , que muestra el plan de acceso del optimizador y el costo estimado de una consulta específica (según las statistics actuales de RUNSTATS)
  2. El asesor de layout , que recomienda cambios estructurales para mejorar el performance de una o más consultas

Ambas utilidades requieren que se creen tablas especializadas en la database.

Tiendo a usar la utilidad de explicación más que al asesor, especialmente si puedo cambiar el SQL de la consulta para influir en un mejor plan de acceso. Uso la utilidad de command-line db2expln para explicar diferentes versiones de una consulta que estoy afinando y comparo sus costos. Lo más importante es que las statistics de la tabla y el índice estén actualizadas al ejecutar Explain o el asesor de layout.

IBM ofrece Data Studio como una herramienta gratuita basada en eclipse, que entre otras ventajas incluye una GUI para ejecutar la explicación visual, así como proporcionar ayuda de ajuste a través de un asesor de consultas. Recomiendo usar Data Studio.

Es relativamente fácil configurar los resources correctos (las tablas de explicación que deben crearse y el enlace que debe hacerse) haciendo clic con el button derecho en una fuente de datos conectada y seleccionando

analizar y sintonizar> configurar para sintonizar> configuration guiada.

enter image description here

Para generar el gráfico de explicación , simplemente resalte su consulta, haga clic con el button secundario y select "Abrir explicación visual":

enter image description here

Para usar el asesor de consultas , elija "iniciar ajuste" en su lugar. Te guiará por un process que generará la explicación, y recomendará cualquier oportunidad de ajuste que pueda determinar.

enter image description here

db2expln -database sample -t -g -f "sql query"

Esto funcionó bien para mi.

Siempre he encontrado que ejecutar la utilidad de explicación desde la línea de command con el modo '-g' activado me ha ayudado a identificar problemas.

No puedo recordar las opciones ahora, y IIRC, db2expln es un poco quisquilloso con el pedido {es decir, no se puede poner nombre de usuario después de la contraseña !!} – pero funciona bien.