Please enable JavaScript.
Coggle requires JavaScript to display documents.
Optimización de Consultas (Elección de los planes de evaluación…
Optimización de Consultas
Visión general
Dada una expresión del álgebra relacional, es labor del optimizador de consultar diseñar un plan de evaluación de consultas que calcule el mismo resultado que la expresión dada y que sea la manera menos costosa de generar ese resultado
Para escoger entre los diferentes planes de evaluación de consultas el optimizador tiene que estimar el coste de cada plan de evaluación
Para hallar el plan de evaluación de consultas menos costoso el optimizador necesita generar planes alternativos que produzcan el mismo resultado que la expresión dada y escoger el menos costoso
La generación de planes de evaluación de consultas implica dos etapas:
La generación de expresiones que sean equivalentemente lógicas a la expresión dada
La anotación de las expresiones resultantes en maneras alternativas de genera planes de evaluación de consultas alternativos
Estimación de las estadísticas de los resultados de las expresiones
El coste de cada operación depende el tamaño y de otras estadísticas de sus valores de entrada
Información del catálogo
El número de tuplas de la relación r
El número de bloques que contienen tuplas de la relación r
El tamaño de cada tupla de la relación r en bytes
El factor de bloqueo de la relación r, es decir, el número de tuplas de la relación r que caben en un bloque
El número de valores distintos que aparecen en la relación r para el atributo A
Estimación del tamaño de la selección
Depende del predicado de la selección
Selecciones complejas
Conjunción
Disyunción
Negación
Estimación del tamaño de las reuniones
El producto cartesiano r x s contiene nr * ns tuplas
Cada tupla de r x s ocupa t1 + t2 bytes, de donde se puede calcular el tamaño del producto cartesiano
Transformación de expresiones relacionales
Se dice que dos expresiones del álgebra relacional son equivalente si, en cada ejemplar legal de la base de datos, las dos expresiones generan el mismo conjunto de tuplas
Reglas de equivalencia
Las operaciones de selección conjuntivas pueden dividirse en una secuencia de selecciones individuales
Las operaciones de selección son conmutativas
Solo son necesarias las últimas operaciones de secuencia de operaciones de proyección, las demás pueden omitirse
Las selecciones pueden combinarse con los productos cartesianos y con las reuniones zeta
Las operaciones de reunión zeta son conmutativas
Las operaciones de reunión natural son asociativas
La operación de selección se distribuye por la operación de reunión zeta
La operación de proyección se distribuye por la operación de reunión zeta
Las operaciones de conjuntos unión e intersección son conmutativas
La unión y la intersección de conjuntos son asociativas
La operación de selección se distribuye por las operaciones de unión, intersección y la diferencia de conjuntos
La operación de proyección se distribuye por la operación unión
Elección de los planes de evaluación
Interacción de las técnicas
Escoger para cada operación el algoritmo más económico para evaluarla
Se puede escoger cualquier ordenación de las operaciones que asegure que la condiciones ubicada por debajo en el árbol se ejecuten antes que las operaciones situadas más arriba
Además de considerar las expresiones alternativas de cada consulta, también se debe considerar los algoritmos alternativos para cada operación de cada expresión
Se pueden utilizar reglas muy parecidas a las reglas de equivalencia para definir los algoritmos que pueden utilizarse para cada operación, y si su resultado puede encauzarse o se debe materializar
Se pueden utilizar estas reglas para generar todos los planes de evaluación de consultas para una expresión dada
Optimización basada en el coste
Generar una gama de planes de evaluación a partir de la consulta dada empleando las reglas de equivalencia y escogen el de coste mínimo
Optimización heurística
Reduce el número de elecciones que hay que hacer de una manera basada en los costes
Estructura de los optimizadores de consultas
El optimizador System R solo toma en consideración los órdenes de reunión en que el operando de la derecha de cada reunión es una de las relaciones iniciales r1,...,rn
Estos órdenes de reunión se denominan órdenes de reunión en profundidad por la izquierda
Optimización de las subconsultas anidadas
La subconsulta puede considerarse como una función que toma un parámetro y devuelve el conjunto de todos los impositores con el mismo nombre
Los parámetros son las variables de la consulta del nivel externo que se utilizan en la subconsulta anidada (estas variables se denominan variables de correlación)
Cuando la transformación no resulta posible el optimizador conserva las subconsultas como expresiones independientes, las optimiza por separado y luego las evalúan mediante la evaluación correlacionada
Vistas materializadas
Es una vista cuyo contenido se calcula y se almacena
Las vistas materializadas constituyen datos redundantes
Resultan importantes para la mejora del rendimiento de algunas aplicaciones
Mantenimiento de las vistas
La tarea de mantener actualizada una vista materializada con los datos subyacentes se denomina mantenimiento de vista
Optimización de consultas y vistas materializadas
Reescritura de las consultas para el empleo de vistas materializadas
Sustitución del empleo de una vista materializada por la definición de la vista