Procesamiento y Optimización de Consultas

Documentos relacionados
Procesamiento y Optimización de Consultas

Procesamiento y Optimización de Consultas

Introducción al Álgebra Relacional

Optimización. Bibliografía: Fundamentos de bases de datos Korth, Silberschatz

Procesamiento de consultas (capítulo 13 y 14 del libro)

Bases de Datos Presentación de la Asignatura. Curso

Bases de Datos Distribuidas

TEMA: CONSULTAS (ALGEBRA RELACIONAL Y SQL)

Gestión de Transacciones: Concurrencia y Recuperación

Bases de Datos Presentación de la Asignatura

El Modelo Relacional (5 de 5)

División Académica de Informática y Sistemas

Asignatura: Horas: Total (horas): Obligatoria X Teóricas 4.5 Semana 4.5 Optativa Prácticas Semanas 72.0

UNIVERSIDAD AUTÓNOMA DE CHIAPAS LICENCIATURA EN SISTEMAS COMPUTACIONALES

PROGRAMA. Los objetivos de la materia son que el alumno al finalizar el cursado haya aprendido a:

Bases de Datos 2. Teórico

BASES DE DATOS (curso 2003/2004)

CC42A: Bases de Datos Auxiliar: Optimizacion Consultas SQL

F47. FICHEROS Y BASES DE DATOS OBJETIVOS

Álgebra Relacional. Carlos A. Olarte BDI

CC BASES DE DATOS OTOÑO 2018

UNIVERSIDAD NACIONAL DE RÍO CUARTO FACULTAD DE CIENCIAS EXACTAS, FÍSICO-QUÍMICAS Y NATURALES DEPARTAMENTO DE COMPUTACIÓN

AR - Marco General. Álgebra Relacional AR - SELECT. AR - SELECT - Propiedades. 19/Agosto/2016

Mayo Fecha de elaboración: 28 de mayo de 2010 Fecha de última actualización: F1016 Modelado, diseño y manejo de bases de datos 1/11

Optimización de Consultas

Mayo Fecha de elaboración: 28/05/2010 Fecha de última actualización: 16/06/2010. F1016 Modelado, diseño y manejo de bases de datos 1/12

El Modelo Relacional - Dinámica-

El Modelo Relacional: Dinámica y Álgebra Relacional. El Modelo Relacional Tema 8

UNIVERSIDAD NACIONAL DE RÍO CUARTO FACULTAD DE CIENCIAS EXACTAS, FÍSICO-QUÍMICAS Y NATURALES DEPARTAMENTO DE COMPUTACIÓN

Programación de la asignatura BDA ( )

GUÍA DOCENTE DE BASES DE DATOS

álgebra relacional 2

BASES DE DATOS (IG18 Semipresencial) Introducción a las Bases de Datos: Sistemas de Bases de Datos frente a Sistemas de Ficheros

8. Procesamiento y optimización de consultas

EL PROGRAMA CUENTA CON 11 BECAS NACIONALES DE CONACYT PARA ESTUDIOS DE POSGRADO.

FUNDAMENTOS DE LAS BASES DE DATOS ( ) Datos Generales

Catedra de Base de Datos

BD - Bases de Datos

12. Procesamiento y Optimización de Consultas

Benemérita Universidad Autónoma de Puebla Vicerrectoría de Docencia Dirección General de Educación Superior Facultad de Ciencias de la Computación

Asignatura: Bases de datos Código: Año académico: Centro: Escuela Politécnica Superior Departamento: Lenguajes y Computación Área:

Bases de Datos. Álgebra Relacional

Diseño Conceptual de Bases de Datos. Un Enfoque de Entidades - Interrelaciones

Cátedra de Base de Datos

PLAN DE ESTUDIOS 2008 LICENCIADO EN INFORMÁTICA

Lenguajes Relacionales

UNIVERSIDAD AUTÓNOMA DE YUCATÁN FACULTAD DE MATEMÁTICAS LICENCIATURA EN CIENCIAS DE LA COMPUTACIÓN BASES DE DATOS

CC BASES DE DATOS PRIMAVERA Clase 6: Cálculo Relacional & SQL (I) Aidan Hogan

ESCUELA SUPERIOR POLITECNICA DEL LITORAL

BASES DE DATOS DSIC. Curso

Carrera Académica UNIVERSIDAD TECNOLÓGICA NACIONAL FACULTAD REGIONAL TUCUMÁN

GUÍA DOCENTE DE ESTRUCTURAS DE DATOS

Sistemas de Información II Tema 6. Álgebra relacional

Catedra de Base de Datos

Universidad Autónoma de Manizales Departamento de Ciencias Computacionales

UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS (Universidad del Perú, DECANA DE AMERICA)

Fundamentos de Bases de Datos en Red

En la terminal de micros de Retiro se cuenta con un sistema con el siguiente esquema de base de datos:

UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS (Universidad del Perú, DECANA DE AMERICA)

BASES DE DATOS DSIC. Curso

Resumen de las clases 6 y 9 de junio

GUÍA DOCENTE 2017/2018. Sistemas de Bases de Datos I Grado en INGENIERÍA INFORMÁTICA 2º curso. Modalidad Presencial

Bases de Datos I. Vistas

BASES DE DATOS I. Algebra Relacional

Teoría de Bases de Datos! Juan L. Reutter! Pontificia Universidad Católica de Chile

CC BASES DE DATOS PRIMAVERA Clase 7: SQL (II) Aidan Hogan

Organización y Acceso a Datos

UNIVERSIDAD NACIONAL DE ITAPUA U.N.I. Creada por Ley Nº:1.009/96 del 03/12/96 Facultad de Ingeniería PROGRAMA DE ESTUDIOS

Bases de datos 1. Teórico: Algebra Relacional

BASE DE DATOS 1 FUNDAMENTACIÓN

INSTITUTO POLITÉCNICO NACIONAL SECRETARIA DE INVESTIGACIÓN Y POSGRADO

BASES DE DATOS 1. Año: 3ro. Régimen de Cursada: Semestral. Año Carácter (Obligatoria/Optativa): Obligatoria Optativa (LI)

Bases de Datos. Práctica 7 WinRDBI. Consultas en cálculo relacional y SQL

TEMA 6.- LENGUAJES DE CONSULTA FORMALES.

Sistemas de Bases de Datos I. Modelo Lógico Modelo Relacional

Guía docente de la asignatura. Curso 16-17

Bases de Datos Distribuidas -Antecedentes

Contenido Sistemas de Información Gerencial

Bases de Datos I. Cursada Clase 5: Optimización de Consultas

Concepto de Modelo de Datos. Introducción a las Bases de Datos Tema 3

Algebra Relacional. Gestión y Modelación de Datos

Programa(s) Educativo(s): Clave de la materia: BC202 UNIVERSIDAD AUTÓNOMA DE Semestre: CHIHUAHUA

Conceptos básicos de álgebra relacional

PLANIFICACIÓN DE LA DOCENCIA UNIVERSITARIA GUÍA DOCENTE. Introducción a las bases de datos

GUÍA DOCENTE 2017/2018. Sistemas de Bases de Datos Grado en ADMINISTRACIÓN Y DIRECCIÓN DE EMPRESAS TECNOLÓGICAS 2º curso. Modalidad Presencial

Planificaciones Base de Datos. Docente responsable: SERVETTO ARTURO CARLOS. 1 de 7

Transcripción:

30/09/2016 s Procesamiento y Optimización de Consultas Grupo de Ingeniería del Software y Bases de Datos Departamento de Lenguajes y Sistemas Informáticos Universidad de Sevilla septiembre 2016 s Objetivos de este tema Conocer las fases del procesado de s en bases de datos relacionales. Conocer los principales factores que afectan a la eficiencia de una en bases de datos relacionales. Ser capaz de escribir s eficientes a bases de datos relacionales aplicando simplificación de expresiones, equivalencias de álgebra relacional y heurísticas. septiembre 2016 Introducción a la Ingeniería del Software y a los Sistemas de Información 1 IISSI 1

30/09/2016 Fases habituales del procesado de s s Consulta SQL Esquema Base Datos Análisis y Traducción Estadísticas Base Datos Consulta AR Optimización Datos Plan de ejecución Ejecución Resultado septiembre 2016 Introducción a la Ingeniería del Software y a los Sistemas de Información 2 s Ejemplo de procesado de Supongamos una base de datos relacional sobre vinos, productores y cosechas donde las estadísticas son las siguientes: Vinos: 500 tuplas Cosechas: 1.200 tuplas : PK Vinos vid PK Productores pid vnombre vendimia graduación PK Cosechas cid pnombre región FK1 FK2 vid pid año cantidad septiembre 2016 Introducción a la Ingeniería del Software y a los Sistemas de Información 3 IISSI 2

30/09/2016 Ejemplo de procesado de Queremos ejecutar la siguiente en SQL: s select V.vnombre from V Vinos, C Cosechas where V.vid = C.vid and C.cantidad > 100; El primer paso es traducir la a álgebra relacional. Opción 1: join, selección, proyección 1.200 tuplas septiembre 2016 Introducción a la Ingeniería del Software y a los Sistemas de Información 4 Ejemplo de procesado de Queremos ejecutar la siguiente en SQL: s select V.vnombre from V Vinos, C Cosechas where V.vid = C.vid and C.cantidad > 100; El primer paso es traducir la a álgebra relacional. Opción 2: selección, join, proyección septiembre 2016 Introducción a la Ingeniería del Software y a los Sistemas de Información 5 IISSI 3

30/09/2016 s Ejemplo de procesado de Queremos ejecutar la siguiente en SQL: select V.vnombre from V Vinos, C Cosechas where V.vid = C.vid and C.cantidad > 100; El primer paso es traducirla a álgebra relacional. Opción 3: producto cartesiano, selección, proyección vnombrecosec has. vid Vinos. vid cantidad 100 Cosec has Vinos 600.000 tuplas septiembre 2016 Introducción a la Ingeniería del Software y a los Sistemas de Información 6 s Ejemplo de procesado de Cuál de las tres s en álgebra relacional es más eficiente? Cuál seleccionaría? Por qué? vnombre cantidad 100 Cosec hasq Vinos 1.200 tuplas vnombre cantidad 100 Cosec has q Vinos vnombrecosec has. vid Vinos. vid cantidad 100 Cosec hasvinos 600.000 tuplas septiembre 2016 Introducción a la Ingeniería del Software y a los Sistemas de Información 7 IISSI 4

30/09/2016 Coste de una s El coste, en tiempo de ejecución, de una a una base de datos depende de: Tiempo de acceso al sistema de E/S (90%) Tiempo de procesamiento de CPU (10%) El tiempo de acceso al sistema de E/S depende de: Volumen de datos: número y tamaño de las tuplas, tanto de las relaciones involucradas como de los resultados intermedios Organización física: índices, tablespaces, Tamaño de los buffers en memoria para almacenar los resultados intermedios septiembre 2016 Introducción a la Ingeniería del Software y a los Sistemas de Información 8 Para reducir el coste de una Reducir los accesos al sistema de E/S s Reducir los resultados intermedios: menos accesos y más probabilidad de que quepan en los buffers en memoria.* Seleccionar por atributos indexados: accesos mucho más eficientes y búsquedas mucho más rápidas. Reducir el procesamiento de CPU Simplificar expresiones de selección: ahorran tiempo de procesamiento y, a veces, accesos al sistema de E/S. * Si los resultados intermedios no caben en los buffers en memoria, deben almacenarse en disco. septiembre 2016 Introducción a la Ingeniería del Software y a los Sistemas de Información 9 IISSI 5

30/09/2016 s Ejemplo de simplificación select región from Productores where nombre = Osborne o or not ( región = Jerez ) j and ( región = Jerez or región = La Mancha ) m and not ( región = La Mancha ); Simplificando la condición del where o j j m m o j j j m ) m falso o j m m o j m m m) o falso falso septiembre 2016 Introducción a la Ingeniería del Software y a los Sistemas de Información 10 s Ejemplo de simplificación select región from Productores where nombre = Osborne or not ( región = Jerez ) and ( región = Jerez or región = La Mancha ) and not ( región = La Mancha ); select región from Productores where nombre = Osborne ; septiembre 2016 Introducción a la Ingeniería del Software y a los Sistemas de Información 11 IISSI 6

30/09/2016 Algunas equivalencias lógicas Conjunciones y disyunciones básicas s a a falso a a cierto a falso falso a falso a a cierto a a cierto cierto Distribución a b c a b a c a b c a b a c septiembre 2016 Introducción a la Ingeniería del Software y a los Sistemas de Información 12 Algunas equivalencias lógicas s Leyes de De Morgan a b a b a b a b Implicación a b a b Cuantificadores x P x x P x x P x x P x) septiembre 2016 Introducción a la Ingeniería del Software y a los Sistemas de Información 13 IISSI 7

30/09/2016 Equivalencias en álgebra relacional* Cascada de selecciones s σ c1 c 2 R σ c1 σ c2 R ) Cascada de proyecciones ( a 1 a 2 a n ) Π a1 Π a2 Π an R Π a1 R Asociatividad de joins R S T R S T ) septiembre 2016 Introducción a la Ingeniería del Software y a los Sistemas de Información 14 Equivalencias en álgebra relacional* Distribución de la selección sobre el join s σ cr c S R S σ cr R σ cs S Donde c R sólo incluye atributos de R y c S sólo de S. Distribución de la proyección sobre el join Π AR A S R S Π AR A S Π AR A R Π AS A S Donde A R sólo incluye atributos de R, A S sólo de S y A los atributos sobre los que se realiza el join. septiembre 2016 Introducción a la Ingeniería del Software y a los Sistemas de Información 15 IISSI 8

30/09/2016 Equivalencias en álgebra relacional* Distribución de la proyección sobre la selección s Π A σ c R Π A σ c Π A Ac R ) Donde A c son los atributos de R que se usan en la condición de la selección. Distribución de la selección sobre, y σ c R S σ c R σ c S ) igual para y Distribución de la proyección sobre la unión Π A R S Π A R Π A S septiembre 2016 Introducción a la Ingeniería del Software y a los Sistemas de Información 16 Heurísticas de de s s 1. Realizar las selecciones tan pronto como sea posible Reduce el número de tuplas de los resultados intermedios. 2. Realizar las selecciones sobre atributos indexados antes que sobre los no indexados Reduce las operaciones de E/S al usar los índices y se ejecutan mucho más rápido. Aplicar la cascada de selecciones si es necesario. 3. Realizar las proyecciones tan pronto como sea posible Reduce el número de atributos de los resultados intermedios. septiembre 2016 Introducción a la Ingeniería del Software y a los Sistemas de Información 17 IISSI 9

30/09/2016 Heurísticas de de s s 4. Realizar las operaciones de selección y join más restrictivas primero* Reduce el número de tuplas de los resultados intermedios. Aplicar asociatividad si es necesario. 5. Eliminar proyecciones redundantes Reduce el número de atributos de los resultados intermedios. Aplicar la cascada de proyecciones. 6. Usar DISTINCT sólo cuando sea imprescindible Evita tener que comparar resultados intermedios para detectar duplicados y eliminarlos del resultado. * En las que intervengan un menor número de tuplas. septiembre 2016 Introducción a la Ingeniería del Software y a los Sistemas de Información 18 Bibliografía s R. Elmasri, S. Navathe, Fundamentos de Sistemas de Bases de Datos (5ª edición). Ed. Addison-Wesley, 2007. Capítulo 15. R. Ramakrishnan, J. Gehrke, Database Management Systems (3ª edición). Ed. McGraw-Hill, 2003. Capítulos 12 y 15. A. Silberschatz et al., Fundamentos de Bases de Datos (5ª edición). Ed. McGraw-Hill, 2006. Capítulos 13 y 14. septiembre 2016 Introducción a la Ingeniería del Software y a los Sistemas de Información 19 IISSI 10