1 / 11

IBD

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.

dawson
Download Presentation

IBD

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  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

  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

  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 IBD - CLASE 16

  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

  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 • Ejemplo • Producto natural • (r1 |x| r2 |x| r3) = r1 |x| (r2 |x| r3) IBD - CLASE 16

  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

  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

  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

  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

  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

More Related