Optimización de
consulta
Es
el proceso de selección del plan de evaluación de las consultas más eficientes
de entre las muchas estrategias generalmente disponibles para el procesamiento
de una consulta dada, especialmente si la consulta es compleja.
Es el proceso de selección del plan de evaluación de las consultas más eficiente entre las estrategias disponibles para el procesamiento de una consulta dada.
Es el proceso de selección del plan de evaluación de las consultas más eficiente entre las estrategias disponibles para el procesamiento de una consulta dada.
A
través del álgebra relacional intenta hallar una expresión equivalente a la
expresión dada ƒ.
Elección
de una estrategia detallada para el procesamiento de la consulta:
o
Selección
del algoritmo que se usará para ejecutar una operación
o Selección de los índices
concretos que se van a emplear
Importancia
Crear
un plan de evaluación de consultas que minimice el costo de la evaluación de
consultas a través de la optimación de la misma.
Optimización
global
El
compilador de SQL funciona en tres fases, que ayuda a producir una
estrategia de acceso óptima para evaluar una consulta que hace referencia a una
fuente de datos remota. Estas fases son análisis de envío, optimización global
y generación de SQL remoto.
El
objetivo de la optimización global es producir un plan de acceso que optimiza
las operaciones de consulta en todas las fuentes de datos globalmente, en todo
el sistema federado. Un plan de acceso que es óptimo globalmente tiene como mínimo
un coste global de ejecución en una sistema federado. la fase de generación de
SQL remoto convierte a la inversa el plan optimo globalmente en fragmentos de
consulta que se ejecutan como fuentes de datos individuales.
Dada una consulta algebraica sobre fragmentos, el objetivo de esta capa es hallar una estrategia de ejecución para la consulta cercana a la óptima. La estrategia de ejecución para una consulta distribuida puede ser descrita con los operadores del álgebra relacional y con primitivas de comunicación para transferir datos entre nodos. Para encontrar una buena transformación se consideran las características de los fragmentos, tales como, sus cordialidades. Un aspecto importante de la optimización de consultas es el ordenamiento de juntas, dado que algunas permutaciones de juntas dentro de la consulta pueden conducir a un mejoramiento de varios órdenes de magnitud. La salida de la capa de optimización global es una consulta algebraica optimizada con operación de comunicación incluida sobre los fragmentos.
Dada una consulta algebraica sobre fragmentos, el objetivo de esta capa es hallar una estrategia de ejecución para la consulta cercana a la óptima. La estrategia de ejecución para una consulta distribuida puede ser descrita con los operadores del álgebra relacional y con primitivas de comunicación para transferir datos entre nodos. Para encontrar una buena transformación se consideran las características de los fragmentos, tales como, sus cordialidades. Un aspecto importante de la optimización de consultas es el ordenamiento de juntas, dado que algunas permutaciones de juntas dentro de la consulta pueden conducir a un mejoramiento de varios órdenes de magnitud. La salida de la capa de optimización global es una consulta algebraica optimizada con operación de comunicación incluida sobre los fragmentos.
Optimización
Local de Consultas
El
trabajo de la última capa se efectúa en todos los nodos con fragmentos
involucrados en la consulta. Cada subconsulta que se ejecuta en un nodo,
llamada consulta local, es optimizada usando el esquema local del nodo. Hasta
este momento, se pueden eligen los algoritmos para realizar las operaciones
relacionales.
No hay comentarios:
Publicar un comentario