Optimizacin de Preguntas Optimizacin de preguntas z Optimizacin













- Slides: 13

Optimización de Preguntas

Optimización de preguntas z Optimización: pregunta plan costo ópt. costo = CPU + I/O + COMUNICACIONES z Necesario para responder eficientemente z Posible con lenguajes no procedurales (ej. SQL) y leng. no procedural: se dice qué se quiere obtener y no cómo obtenerlo (algoritmo, uso de índices. . . ) y sistemas con lenguajes procedurales: ej. IMS (jerárquico) o CODASYL (en red)

Ejemplo motivador z La optimización es posible y necesaria z Las distintas estrategias requieren costes muy distinto z Debe ser un proceso automático y depende del momento concreto en la vida de la BD y es complicado saber qué estrategia es mejor y Nunca se esta seguro (estimaciones)

Etapas en la optimización z Convertir la pregunta en una representación interna (álgebra relacional, árbol sintáctico) z Transformar la pregunta en una forma canónica (reglas sintácticas y semánticas) z Escoger los procedimientos de bajo nivel candidatos (para cada operador) y ¿índices? ¿clustering? ¿rango y núm. valores? z Generar los planes y escoger el más barato y usar heurísticos para reducir búsqueda

Optimización sintáctica z Entrada: expresión álgebra relacional z Salida: expr. álgebra relacional equivalente y y y operaciones de idempotencia, propagar ctes. operación selección se baja en el árbol operación proyección se baja en el árbol agrupar selecciones y proyecciones Idea: reducir tamaño de las relaciones a combinar con la operación join

Optimización semántica z Transformar la pregunta en otra que devuelve las misma tuplas z Utilizar conocimiento semántico de la BD y restr. integridad, dependencias funcionales, claves extranjeras, reglas semánticas z En general, la opt. sem. es un proceso caro, por lo que los SGBD comerciales no la aplican. Se suele basar en técnicas de Int. Artificial.

Optimización física: Selección z Algoritmos y Búsqueda lineal y Búsqueda binaria y Empleo de índices (de distintos tipos) z Selectividad de una condición y % de la relación que satisface la condición y Ejecutar primero las selecciones de mayor selectividad

Optimización física: Join z Algoritmos y y y Ciclo anidado (Nested Loops) o fuerza bruta Sort-Join (Sort Merge) Join con índice en una de las relaciones Join con índice para cada relación Hash-Join

Optimización física: otras op. z Proyecciones: fácil de implementar (hay que recorrer todas las tuplas) z Producto cartesiano: muy costosa y Evitarla z Unión, Intersección, Diferencia y Primero se ordenan las dos relaciones

Generar los planes y escoger el más barato z Planes para responder a la pregunta, y su costo z Cada plan se construye combinando el conjunto de procedimientos candidatos posibles. y Calcular el costo es complicado hay que estimar tamaños de resultados intermedios (estadísticas de la BD, en el catálogo). x Calcular el orden óptimo de ejecución de joins • N! posibilidades de ejecutar un join entre N relaciones x Evitar resultados intermedios (subir selecciones) z Usar heurísticos para reducir la búsqueda

Optimización del costo: CPU + I/O + COM z BD centralizadas y generalmente se tiene en cuenta sólo costo I/O z BD distribuidas en Redes Area Amplia (WAN) y generalmente, sólo costo COM. z BD distribuidas en Redes de Area Local (LAN) y generalmente, costos I/O y COM. z BD en servidores paralelos y influyen los tres: CPU, I/O y COM.

Optimización en Oracle z Optimización basada en reglas o basada en costes (seleccionado por el usuario) z EXPLAIN PLAN: ver como se ejecutará una sentencia SQL z No hay optimización semántica y hasta Oracle 8, incluido z Se puede influir en el uso o no de índices (no recomendado)

Conclusiones y Los SGBD realizan optimización de preguntas • son inútiles algunas reformulaciones de preguntas y Algunas optimizaciones (todavía) no son realizadas por los SGBD (ej. optimización semántica) • hay que reformular algunas preguntas y El proceso de optimización de preguntas es complejo y cada SGBD lo hace distinto. • hay que consultar el manual del SGBD concreto. y Es necesario conocer cómo se procesan las preguntas para realizar el DISEÑO FÍSICO. • cuándo es útil usar índices o hash o no utilizarlos. • saber que el join es costoso --> reducir número de joins.
Despedida de una entrevista
Como llego a conocer analia a su futuro esposo
Como descubrio belisa la escritura
Preguntas de la biblia biblioteca del ministerio juvenil
Preguntas fáciles
Preguntas de porfirio díaz
Preguntas hipocráticas
Responda a las siguientes preguntas
Preguntas de terminos pareados
Preguntas de complemento
Preguntas mision tic 2022
Si preguntas mi nombre mi inicial esta en guante
Las preguntas para la ciudadana en espaol
Preguntas de escala nominal