La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

IBD Clase 16.

Presentaciones similares


Presentación del tema: "IBD Clase 16."— Transcripción de la presentación:

1 IBD Clase 16

2 Optimización de consultas
Componentes del “costo” de ejecución de una consulta: Costo de acceso a almacenamiento secundario  buscar, leer y escribir bloques de datos que residen en disco. Costo de almacenamiento  costo de almacenar archivos intermedio que genera una estrategia de ejecución Costo de cómputo  Costo de realizar operaciones Costo de comunicación  Costo de enviar la consulta y los resultados (si es un Sistema Distribuido) IBD - CLASE 16 UNLP - Facultad de Informática

3 Optimización de consultas
Interpretación de consultas Dada una consulta hay varios métodos para llegar a la respuesta. Fórmula de cálculo  sistema Usuario  Consulta  consulta depurada Más eficiente IBD - CLASE 16 UNLP - Facultad de Informática

4 Optimización de consultas
Consulta  forma interna  proceso de optimización parser  más eficiente elección de índices  # de acceso a disco  orden en el uso de tuplas Parser equivale a un compilador IBD - CLASE 16 UNLP - Facultad de Informática

5 Optimización de consultas
Optimización Lógica Expresiones equivalentes: Algebra relacional: procedural, existe una secuencia de resolución  se puede encontrar una expresión más eficiente que otra. IBD - CLASE 16 UNLP - Facultad de Informática

6 Optimización de consultas
Operaciones Selección: hacerlas lo antes posible Cambiar  p1^p2(e)  p1(p2(e)) (descomponer la condición) Ejemplo Proyección Resolver la proyección lo antes posible Producto natural (r1 |x| r2 |x| r3) = r1 |x| (r2 |x| r3)  sexo=‘M’ and edad>=18( PERSONA )  sexo=‘M’ (edad>=18 (PERSONA)) PERSONAS=(DNI,nombre, dir) SALARIOS=(DNI,monto) nombre,monto (PERSONAS |x| SALARIOS) -> nombre,monto ((nombre,DNI (PERSONAS)) |x| SALARIOS) Selección Proyección (selección (r1|x|r2|x|r3) Proyección (selección(r1) |x| selección (r2) |x| r3) Proyección  suc, activo(  suc (  localidad (cliente) |x| deposito ) |x| sucursal ) IBD - CLASE 16 UNLP - Facultad de Informática

7 Optimización de consultas
Otras operaciones (equivalencias) p(r1  r2) = p(r1)  p(r2) p(r1 - r2) = p(r1) - p(r2) (r1  r2)  r3 = r1  (r2  r3) r1 |x| r2 = r2 |x| r1 IBD - CLASE 16 UNLP - Facultad de Informática

8 Optimización de consultas
Estimación del costo de las consultas Elección de estrategia  estadísticas # tuplas en la relación (nr) Tamaño en bytes de la tupla (sr) # valores distintos en la relacion r para un atributo V(a,r) Costos de las consultas Producto cartesiano: r x t # tuplas nr * nt # bytes en cada tupla sr + st IBD - CLASE 16 UNLP - Facultad de Informática

9 Optimización de consultas
Selección: p (r) # tuplas nr se supone distribución uniforme V(A,r) # bytes de la tupla sr IBD - CLASE 16 UNLP - Facultad de Informática

10 Optimización de consultas
Optimización Física -> depende del DBMS Generar “buenos” índices Costo de acceso por índices Índice  más rápido, existe ordenamiento Costo adicional  acceso al índice Cálculo de tiempo Depende del la organización y características del índice. IBD - CLASE 16 UNLP - Facultad de Informática

11 Optimización de consultas
Generar “buenos” clusters (criterios para agrupar información, para acceder menos al disco) de información -> se puede “clusterizar” por tablas, atributos o tuplas relacionadas Procesadores paralelos Redes: separar el trabajo entre distintas computadoras IBD - CLASE 16 UNLP - Facultad de Informática


Descargar ppt "IBD Clase 16."

Presentaciones similares


Anuncios Google