Optimizaci - PowerPoint PPT Presentation

About This Presentation
Title:

Optimizaci

Description:

Title: Bloque asignaturas BDs Author: Quique y Nacho Last modified by: mena Created Date: 9/17/1997 5:13:18 PM Document presentation format: Presentaci n en pantalla – PowerPoint PPT presentation

Number of Views:63
Avg rating:3.0/5.0
Slides: 14
Provided by: Quique7
Category:
Tags: optimizaci | sgbd

less

Transcript and Presenter's Notes

Title: Optimizaci


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

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

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

5
Optimización sintáctica
  • Entrada expresión álgebra relacional
  • Salida expr. álgebra relacional equivalente
  • 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

6
Optimización semántica
  • Transformar la pregunta en otra que devuelve las
    misma tuplas
  • Utilizar conocimiento semántico de la BD
  • restr. integridad, dependencias funcionales,
    claves extranjeras, reglas semánticas
  • 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.

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

8
Optimización física Join
  • Algoritmos
  • 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

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

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

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

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

13
Conclusiones
  • Los SGBD realizan optimización de preguntas
  • son inútiles algunas reformulaciones de preguntas
  • Algunas optimizaciones (todavía) no son
    realizadas por los SGBD (ej. optimización
    semántica)
  • hay que reformular algunas preguntas
  • El proceso de optimización de preguntas es
    complejo y cada SGBD lo hace distinto.
  • hay que consultar el manual del SGBD concreto.
  • 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 --gt reducir número
    de joins.
Write a Comment
User Comments (0)
About PowerShow.com