Descargar la presentación
La descarga está en progreso. Por favor, espere
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
Presentaciones similares
© 2024 SlidePlayer.es Inc.
All rights reserved.