Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Matricula: 2023-0680
Tema: Asignación 3
Fecha: 22/Feb./2024
1. ¿Qué es la optimización de consultas?
La optimización de consultas es el proceso de mejorar el rendimiento de
las consultas en una base de datos. Cuando se ejecutan consultas en una
base de datos, el sistema de gestión de bases de datos (DBMS) debe
determinar la forma más eficiente de recuperar los datos solicitados. La
optimización de consultas se enfoca en encontrar estrategias y caminos
de ejecución que minimicen el tiempo de respuesta y los recursos
necesarios para ejecutar una consulta.
1. Reducción del tiempo de respuesta: Buscar maneras de ejecutar la consulta de manera más rápida para
proporcionar resultados al usuario en un tiempo mínimo.
2.Minimización del uso de recursos: Optimizar el uso de recursos como memoria y capacidad de procesamiento
para realizar la consulta de manera eficiente.
3. Mejora del rendimiento general del sistema: Al optimizar consultas, se mejora el rendimiento general del
sistema de bases de datos, permitiendo que múltiples consultas se ejecuten de manera eficiente y simultánea.
Las técnicas de optimización de consultas pueden incluir la creación de índices en columnas relevantes, la
reescritura de consultas de manera más eficiente, el uso de estadísticas para tomar decisiones de optimización y el
ajuste de configuraciones del sistema de bases de datos. La optimización de consultas es esencial para garantizar un
rendimiento eficiente en aplicaciones y sistemas que hacen un uso intensivo de bases de datos.
Los optimizadores utilizan información estadística sobre las relaciones para realizar sus estimaciones. Esta
información incluye los tamaños de las relaciones y las profundidades de los índices.
Los optimizadores basados en costo asignan un costo a cada plan. Este costo intenta estimar el costo de la consulta
en términos de operaciones de entrada-salida requeridas, requerimientos de CPU y otros factores. El optimizador
elige el plan con menor costo.
Algunas de las principales estrategias y fuentes de información que los optimizadores utilizan para realizar
estas estimaciones son:
Estadísticas de la base de datos: Los optimizadores mantienen estadísticas sobre la distribución de datos en las
tablas y columnas. Estas estadísticas incluyen información sobre la cardinalidad (número de valores distintos), la
densidad y la distribución de datos. Estas estadísticas ayudan a estimar cuántas filas se recuperarán o afectarán con
una condición específica en una consulta.
Índices: Los optimizadores consideran la existencia de índices en las tablas para determinar las rutas de acceso
más eficientes para recuperar los datos. Utilizan información sobre la selectividad de los índices (cuántas filas
cumplen con una condición específica) para calcular la eficiencia de su uso.
Historial de ejecución: Algunos optimizadores pueden mantener un historial de ejecución de consultas anteriores.
Si una consulta se ejecutó recientemente, el optimizador podría recordar el plan de ejecución anterior y decidir
reutilizarlo si es apropiado.
Reglas y heurísticas: Los optimizadores utilizan reglas y heurísticas predefinidas para transformar y reescribir
consultas. Estas reglas buscan optimizar la forma en que se ejecutan las consultas, considerando diversas
estrategias de unión, filtrado y acceso a los datos.
Costo de operaciones: Los optimizadores asignan costos a diferentes operaciones de consulta y buscan el plan de
ejecución que minimice el costo total. Estos costos pueden incluir el costo de leer datos de disco, el costo de ordenar
resultados, entre otros.
En esta etapa, el optimizador de consultas explora el espacio de búsqueda para generar diferentes planes de
ejecución posibles para la consulta dada. El espacio de búsqueda incluye diversas estrategias de acceso a datos,
métodos de unión, ordenación y otras operaciones que se pueden aplicar para obtener los resultados deseados.
Después de generar una serie de planes posibles, el optimizador evalúa cada plan en función de ciertos criterios de
optimización. El objetivo es seleccionar el plan que minimice el costo total de ejecución y, por lo tanto, reduzca el
tiempo de respuesta de la consulta. Los criterios de optimización pueden incluir el tiempo de CPU estimado, el uso
de memoria, la carga del sistema y otros recursos.
Las reglas de equivalencia son utilizadas por el optimizador de consultas para explorar el espacio de búsqueda de
planes de ejecución alternativos y encontrar una representación lógica equivalente que pueda ser más eficiente en
términos de costos de ejecución.
Regla de conmutatividad: Cambio del orden de las operaciones. Por ejemplo, la suma es conmutativa, por lo que a
+ b es equivalente a b + a.
Regla de asociatividad: Cambio del agrupamiento de las operaciones sin cambiar el resultado. Por ejemplo, (a + b)
+ c es equivalente a a + (b + c).
Regla de distribución: Aplicación de una operación a una expresión compuesta. Por ejemplo, a * (b + c) es
equivalente a (a * b) + (a * c).
Regla de la identidad: Operación que no cambia el resultado. Por ejemplo, a * 1 es equivalente a a.
Regla de anulación: Eliminación de operaciones que no afectan el resultado. Por ejemplo, a + 0 es equivalente a a.
Requisitos: