120 likes | 319 Views
IBD. Clase 16. 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.
E N D
IBD Clase 16
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
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
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 IBD - CLASE 16
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
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 • Ejemplo • Producto natural • (r1 |x| r2 |x| r3) = r1 |x| (r2 |x| r3) IBD - CLASE 16
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
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
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
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
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