Modos de mejorar el rendimiento de las consultas
Las vías de acceso tienen un impacto significativo en el rendimiento de Db2. Db2 elige vías de acceso, pero puede utilizar herramientas para comprender cómo afectan las vías de acceso al rendimiento en determinadas situaciones.
Una vía de acceso es la vía de acceso que Db2 utiliza para localizar datos que se especifican en sentencias SQL. Una vía de acceso puede ser indexada o secuencial.
Dos factores importantes en el rendimiento de una instrucción SQL son la cantidad de tiempo que utiliza Db2 para determinar la ruta de acceso en tiempo de ejecución y la eficiencia de la ruta de acceso. Db2 determina la ruta de acceso para una instrucción, ya sea cuando vincula el plan o paquete que contiene la instrucción SQL o cuando se ejecuta la instrucción SQL.
El momento en que Db2 determina la vía de acceso depende de si la sentencia se ejecuta de forma estática o dinámica y si la sentencia contiene variables del lenguaje principal de entrada.
La vía de acceso que Db2 elige determina cuánto tarda la sentencia SQL en ejecutarse. Por ejemplo, para ejecutar una consulta SQL que une dos tablas, Db2 tiene varias opciones. Db2 puede tomar cualquiera de las siguientes decisiones para procesar esas uniones:
- Explorar la tabla PARTS para encontrar cada fila que coincida con una fila de la tabla PRODUCTS.
- Explorar la tabla PRODUCTS para encontrar cada fila que coincida con una fila de la tabla PARTS.
- Clasificar ambas tablas por orden de PROD# y, a continuación, fusionar las tablas ordenadas para procesar la unión.
La selección de la mejor vía de acceso para una sentencia de SQL depende de varios factores. Estos factores incluyen el contenido de cualquier tabla que la sentencia de SQL consulte y los índices de dichas tablas.
Db2 también utiliza una amplia información estadística sobre la base de datos y el uso de recursos para realizar las mejores opciones de acceso.
Además, la organización física de los datos en el almacenamiento afecta a la eficacia de Db2 que puede procesar una consulta.