OPTIMIZACION DE CONSULTAS A BASES DE DATOS RELACIONALES



Documentos relacionados
Capítulo 12: Indexación y asociación

UNIDAD 3 ASPECTOS ASOCIADOS CON BASES DE DATOS. Diseno Físico de Bases de Datos Objetivo. 2.2 Visión General del Procesamiento de Consultas

Optimización de consultas Resumen del capítulo 14

Base de datos relacional

Bases de Datos 2. Teórico

Ficheros y Bases de Datos Curso Ingeniería Técnica de Informática Primer Parcial. 1-Junio Nombre:

select nombre from profesores where categoria='aso6';

ESQUEMA DE BASE DE DATOS ATROPELLOS

Modelos y Bases de Datos

1. DML. Las subconsultas

INTRODUCCIÓN A LOS SISTEMAS GESTORES DE BASE DE DATOS

LAS SUBCONSULTAS SQL SERVER Manual de Referencia para usuarios. Salomón Ccance CCANCE WEBSITE

Consultas con combinaciones

OPTIMIZACIÓN DE CONSULTAS EN SQL. Análisis de Consultas y Transacciones Ajuste de Indices Ajuste de Consultas

Teoría formal de la normalización de esquemas relacionales. Definición formal de las tres primeras Formas Normales

Pronósticos. Pronósticos y gráficos Diapositiva 1

Codd propuso estos tres lenguajes como base teórica de cualquier lenguaje que quisiera cumplir con los requisitos formales del modelo.

BASE DE DATOS RELACIONALES

Nociones de performance

TEMA 3 PROFESOR: M.C. ALEJANDRO GUTIÉRREZ DÍAZ 2 3. PROCESAMIENTO DE CONSULTAS DISTRIBUIDAS

OPERACIONES FUNDAMENTALES DEL ÁLGEBRA RELACIONAL. Bases de Datos Ingeniería de Sistemas y Computación Universidad Nacional de Colombia 2007

FICHEROS Y BASES DE DATOS (E44) 3º INGENIERÍA EN INFORMÁTICA. Tema 8. Elementos Básicos

CONSULTAS CON SQL. 3. Hacer clic sobre el botón Nuevo de la ventana de la base de datos. Aparecerá el siguiente cuadro de diálogo.

Procesamiento y Optimización de Consultas

BANCOS. Manejo de Bancos. Como crear una ficha de Banco? Como modificar los datos de una ficha de Banco? Como borrar una ficha de Banco?

Conceptos básicos Oracle 10g Introducción - Administración de Oracle - Orasite.com

IN4703 Gestión de Operaciones I Auxiliar 6: Inventarios

MANUAL DE AYUDA TAREA PROGRAMADA COPIAS DE SEGURIDAD

Boletín de Problemas de la Asignatura II18 Bases de Datos. Ingeniería Informática Universitat Jaume I

Vistas en postgresql

A.1. Definiciones de datos en SQL

FUNDAMENTOS DE BASES DE DATOS. Examen Febrero Solución

5- Uso de sentencias avanzadas

Estructura de una BD Oracle. datafiles redo log controlfiles tablespace objetos Estructura lógica. Tablespaces tablespace SYSTEM

CERTAMEN 2 90 minutos 20 puntos

Introducción a las redes de computadores

Tutorial de MS Access Un sistema de Bases de Datos Relacional. Profesores: Hugo Mora, Ignacio Casas

Capítulo 7: Distribuciones muestrales

Sistema de Información de Compras y Contrataciones del Estado (SICE) Gestión y búsqueda de pedidos para compras comunes

LABORATORIO Nº 3 PRÁCTICA DE FUNCIONES EN MICROSOFT EXCEL

NÚMEROS NATURALES Y NÚMEROS ENTEROS

INSTITUTO TECNOLÓGICO SUPERIOR DE ESCÁRCEGA INGENIERÍA EN SISTEMAS COMPUTACIONALES MATERIA: TALLER DE BASE DE DATOS TRABAJO: PROFESOR:

Toda base de datos relacional se basa en dos objetos

2. ESTUDIO DE INDICES

Soluciones de los ejercicios de Selectividad sobre Probabilidad de Matemáticas Aplicadas a las Ciencias Sociales II

Base de datos en Excel

Operaciones en el Modelo Relacional. Relacional. Relacional. Índice. Lenguajes de Consulta

FUNDAMENTOS DE BASES DE DATOS. Examen Julio 2002

Introducción a la Teoría de Bases de Datos

S.Q.L. (Lenguaje de Consulta Estructurada) Consultas Avanzadas. Sistemas de Bases de Datos II - ITS EMT CETP

Curso: Base de Datos Distribuidas. Unidad 3: Optimización de las Estrategias de Acceso. M. en C. José Mario Martínez Castro

EMPRESA DE TELECOMUNICACIONES DE BOGOTÁ S.A ESP INVITACIÓN PÚBLICA No OBJETO

PSI Gestión es un sistema multiusuario que le permite 2 tipos de configuraciones:

Empresarial y Financiero NIVEL AVANZADO

LABORATORIO Nº 2 GUÍA PARA REALIZAR FORMULAS EN EXCEL

Primer Parcial de Fundamentos de Base de Datos

TEMA II. El Modelo Relacional de Datos. El Modelo Relacional de Datos. El Modelo Relacional de Datos. El Modelo Relacional de Datos. Temario (cont.

GOOGLE ADWORDS: TERMINOLOGÍA BÁSICA.

Práctico 6 Diseño Relacional

Maestría en Bioinformática. Bases de Datos y Sistemas de Información. Diseño Lógico. Ing. Alfonso Vicente, PMP alfonso.vicente@logos.com.

Capitulo 3. Protocolo y grabaciones

Ing. Santiago C. Pérez Laura Noussan Lettry Carlos Campos

Bases de Datos: Structured Query Language (SQL)

UNIVERSIDAD RICARDO PALMA FACULTAD DE INGENIERÍA

MANUAL DE CS-ALMACENES (MAYO 2012)

Ejercicio de estadística para 3º de la ESO

Manual para la utilización de PrestaShop

CONSULTAS MULTITABLAS SQL SERVER Manual de Referencia para usuarios. Salomón Ccance CCANCE WEBSITE

Antes O1 de invertir INVERSOR MINORISTA? Su entidad le clasificará normalmente como inversor minorista. Qué tipo de cliente 1.1 es usted?

MANUAL DE REFERENCIA DEL SERVICIO DE MONITOREO WEB DE VENTAS

El usuario puede utilizar esta tabla derivada como una tabla más, en sus consultas.

ESTRUCTURAS ALGEBRAICAS 1

Guía Creación o Importación de Catálogos.

ABSOLUCION DE CONSULTAS

Índice. 1.- En qué consiste Principales funciones Procesos de renovación Soporte Respaldos..4

Guía de Laboratorio Base de Datos I.

QUÉ ES UNA BASE DE DATOS Y CUÁLES SON LOS PRINCIPALES TIPOS? EJEMPLOS: MYSQL, SQLSERVER, ORACLE, POSTGRESQL, INFORMIX (DV00204A)

MANUAL PARA EL MANEJO DE MAXIMOS Y MINIMOS

CAPITILO 4 CASO. PRACTICO

H E R R A M I E N T A S D E A N Á L I S I S D E D A T O S HERRAMIENTAS DE ANÁLISIS DE DATOS

Bases de Datos 2. Teórico

Bases de Datos 2. Teórico

DETERMINACIÓN DEL VOLUMEN DE PEDIDO.

Bases de Datos. Sistemas de Gestión de Bases de Datos

Primer Parcial de Programación 3 (1/10/2009)

BASES DE DATOS. TEMA 6. El Álgebra Relacional

UNIDAD 1.- PARTE 1 MANIPULACIÓN AVANZADA DE DATOS CON SQL. BASES DE DATOS PARA APLICACIONES. Xochitl Clemente Parra Armando Méndez Morales

Manual de uso del convenio de Microsoft MSDN Academic Alliance

Sistemas de Información para la Gestión

Políticas de uso Portal Terminales Medellín

Introducción rápida al templo

UNIDAD DIDACTICA 1: SISTEMAS GESTORES DE BASES DE DATOS

Gestión de Permisos. Bizagi Suite. Copyright 2014 Bizagi

Tema 12: Gestión de existencias. Elvira Carmona Rubio Operaciones administrativas de compraventa

PROBLEMAS RESUELTOS SELECTIVIDAD ANDALUCÍA 2005 MATEMÁTICAS APLICADAS A LAS CIENCIAS SOCIALES TEMA 5: PROBABILIDAD

Manual de Usuario Comprador Presupuesto

proceso que consiste en aplicar una serie de reglas a las relaciones obtenidas tras el paso del modelo entidad-relación al modelo relacional.

SPI4 - La herramienta de estimación de la Tasa anual equivalente (TEA)

Normalización 1NF 2NF 3NF BCNF 4NF

Transcripción:

OPTIMIZACION DE CONSULTAS A BASES DE DATOS RELACIONALES 1. CONTENIDO DEL MARCO TEORICO 2. OPTIMIZACION ALGEBRAICA DE CONSULTAS 3. COSTO DEL INPUT / OUTPUT DEL PRODUCTO CARTESIANO Y JUNTA NATURAL 4. TUNING 1. CONTENIDO DEL MARCO TEORICO. Procesamiento de consultas. Propiedades de los operadores algebraicos. Optimización algebraica. Información del catálogo para la estimación del costo. Medidas del costo de una consulta. Estimación del costo de procesamiento de consultas: Costo de cada operador algebraico; cálculo del costo del input y output del producto cartesiano. Estrategias para procesar una consulta contando con índices. Tuning de bases de datos relacionales. Impacto de un buen diseño físico. Determinación del diseño físico según la Esperanza de accesos. Reglas empíricas de indexación. Importancia del conocimiento sobre el funcionamiento del optimizador de consultas del RDBMS. Mejorando el código SQL y su impacto en la performance. Casos reales. OPTIMIZACION DE CONSULTAS Página 1 de 9

2. OPTIMIZACION ALGEBRAICA DE CONSULTAS. EJERCICIO 1 Optimizar la siguiente expresión algebraica utilizando el árbol de consulta: Π ART.desc σ F ( ( PEDIDO X CLIENTE X ART ) ) donde F es: PEDIDO.nc = CLIENTE.nc and PEDIDO.na = ART.na and PEDIDO.q = 200 and ART.color = "rojo" and ART. Talla = "2" and CLIENTE.cd = "Rosario" EJERCICIO 2 Sea D={Q,R,S} una descomposición con los esquemas: Q (A,B), R(B,C) y S(AC). q(q), r(r), s(s) son una proyección de una instancia definida sobre ABC, usar el método de optimización de consultas para hallar expresiones equivalentes a las siguientes co-juntas: a) Π B ( q X r X s ) b) Π AC ( q X r X s ) c) Π AC ( (σ A=c1 q) X (σ C=c2 r) X s) EJERCICIO 3 Especifique los pasos generales para optimizar la siguiente expresión: Π B ( σ A=a ( σ D=d (q) X ( r - Π BDF ( r X s )))) donde: q(q); r(r); s(s) y Q(ABD); R(BDF); S(FG) son relaciones con sus respectivos esquemas. OPTIMIZACION DE CONSULTAS Página 2 de 9

3. COSTO DEL INPUT / OUTPUT DEL PRODUCTO CARTESIANO Y JUNTA NATURAL. EJERCICIO 4 Sea n 1 y n 2 el número de registros de r 1 y r 2 respectivamente, y sea p el número de bloques que pueden alojarse en memoria principal. Deduzca una fórmula que de el número total de accesos para efectuar : r 1 X r 2. Estudie en términos de tiempo de ejecución la diferencia que existe entre r 1 X r 2 y r 2 X r 1. EJERCICIO 5 En un centro de cómputos se quiere computar el producto cartesiano de r x s. Sea Br la cantidad de bloques que deben ser accedidos para leer el archivo r y Lr es la cantidad de by necesarios para almacenar una tupla de r ; análogamente es Bs y Ls. Sea b la cantidad de by que hay en un bloque. Sea M la cantidad de bloques que entran en memoria principal al mismo tiempo. Se pide calcular : 5.1) El costo de leer el input. 5.2) 5.2.1) La cantidad aproximada de tuplas de r y de s ( r y s ) en función de los datos dados. 5.2.2) El costo para grabar el output en función de: Br, Bs, r y s. ( ayuda : calcule la cantidad aproximada de bloques necesarios para almacenar el output. ) 5.2.3) El costo total del proceso en función de: Br, Bs, r y s. 5.3) Como el proceso era muy lento el jefe de desarrollo pidió invertir dinero en una ampliación de la memoria principal. Una vez ya instalada y luego de realizar el mismo proceso exclamó: no puede ser! cuadriplique la memoria principal y solo mejoré el tiempo en un 2%!. Explíquele al jefe que es lo que sucedió. OPTIMIZACION DE CONSULTAS Página 3 de 9

EJERCICIO 6 Se dice que el tamaño del output para una junta natural que se realiza por el atributo A que no es CC de ninguno de los dos esquemas esta acotado por : r 1 X r 2 D(A,r 1) Se pide : a) Explique bajo que hipótesis lo anterior es verdadero EJERCICIO 7 Estimar el tamaño de la junta R(A, B) X S(B, C) usando histogramas para R.B y S.B. Asumir V(B, R) = 20, V(B, S) = 21 y los siguientes histogramas, donde se dan las frecuencias para los cuatro valores mas comunes 0 1 2 3 4 otros R.B 5 6 4 5 32 S.B 10 8 5 7 51 OPTIMIZACION DE CONSULTAS Página 4 de 9

4. TUNING. 4.1) Defina los siguientes términos : Índice primario Índice secundario Índice denso Índice escaso o poco denso Índice múltiple Clave de búsqueda Cluster Índice cluster 4.2) En general, es posible tener dos índices cluster en la misma relación para diferentes claves de búsqueda? Justifique. 4.3) Puesto que los índices agilizan el procesamiento de las consultas, por qué no deberían mantenerse en varias claves de búsqueda? Listar tantas razones como sea posible. 4.4) Si se utiliza una Organización física Relativa usando la técnica de Hashing, en una clave de búsqueda para la cual es probable que se hagan consultas de rangos, qué propiedad deberá tener la función de asociación? 4.5) Para cada una de las siguientes proposiciones decir si es, en general, verdadera o falsa justificando su respuesta : 4.5.1) Indexar las columnas que son usadas frecuentemente en la cláusula where. 4.5.2) Indexar las columnas cuyos valores max y min se seleccionan frecuentemente. 4.5.3) Indexar las columnas que tengan un alto poder selectivo (la selectividad es alta si son pocas las filas que tienen el mismo valor en la columna clave). 4.5.4) Busque tantos casos particulares como pueda para contrariar sus respuestas anteriores. OPTIMIZACION DE CONSULTAS Página 5 de 9

4.6) Sea un archivo cuyos registros tienen tres campos : A,B,C. Hay 10 valores posibles para A, 100 valores posibles para B, y 20 valores posibles para C. Suponga que TODOS los registros posibles se encuentran en el archivo. Suponga que todas las consultas especifican valores para exactamente dos campos: La probabilidad de que una consulta especifique A y B es de 0.8; la probabilidad de que especifique A y C es 0.15; y la probabilidad de que especifique B y C es 0.05. Suponga que puede crear un solo índice múltiple. Qué campos deben elegirse? 4.7) Sean los esquemas de relación R(A,B,C,D) y S(E,F,G,A) y los siguientes datos para las respectivas instancias : r(r) : s(s) : r = 30.000 ; r = 10.000 ; FB = 3 ; FB= 10 ; V(B,r) = 10000 ; V(F, s) = 2000 ; V(A,s) = 8000 ; Suponga que se realizan solo las tres consultas que a continuación se detallan y que c/u tiene la siguiente probabilidad : 0.55, 0.15 y 0.30 respectivamente. 4.7.1) SELECT A, B, C, D, S WHERE R.A = S.A ; 4.7.2) SELECT * WHERE R.B = x ; 4.7.3) SELECT * FROM S WHERE S.F = Y ; Calcule justificando su respuesta lo siguiente : a) La esperanza de accesos en un diseño sin índices ni clusters. Debe tener en cuenta en cada caso, el costo del input y del output de cada consulta. b) El mejor diseño físico y su esperanza de accesos si se quiere emplear solamente un índice. OPTIMIZACION DE CONSULTAS Página 6 de 9

c) Ídem a b) pero usando solamente dos índices. d) El mejor diseño físico y su esperanza de accesos usando no más de dos índices. En todos los casos, si es necesario, debe aclarar las suposiciones adicionales. 4.8) Sea el esquema de relación R(A,B,C,D,E) y los siguientes datos para una instancia : r(r): r = 30.000; V(A,r) = 2 V(B,r) = 30.000; V(C,r) = 10.000; V(D,r) = 1.000; V(E,r) = 2; FB=5; Suponga que se realizan solo las cinco consultas que a continuación se detallan y que c/u tiene una p(i) probabilidad de ser utilizada. 4.8.1) SELECT * WHERE R.A = X ; 4.8.2) SELECT * WHERE R.B < 60.000 ; 4.8.3) SELECT A, D WHERE R.C = Y ; 4.8.4) SELECT * WHERE R.D = Z ; 4.8.5) SELECT * WHERE R.B = ( SELECT MAX(B) ) ; OPTIMIZACION DE CONSULTAS Página 7 de 9

Asigne usted una probabilidad a cada consulta (que no sean iguales) y calcule justificando su respuesta lo siguiente : a) La esperanza de accesos en un diseño sin índices. b) La menor esperanza de accesos con un diseño que emplee un solo índice. c) Ídem a b) pero usando solamente dos índices. d) El mejor diseño físico que Ud. considere. En todos los casos, si es necesario, debe aclarar las suposiciones adicionales. 4.9) Dada la siguiente consulta SQL : SELECT NOMBRE, NRO_DEP FROM departamento WHERE NRO_DEP NOT IN ( SELECT NRO_DEP FROM empleado ) ; Existe un índice para el atributo NRO_DEP de empleado pero el optimizador de consultas del RDBMS que utiliza (ORACLE x) no es demasiado "listo" y no utiliza índices si no se nombra en la cláusula where la columna(s) clave(s) correspondiente(s) al índice. Se pide : a) El costo del input. b) Cómo modificaría la consulta para ayudar al optimizador a mejorar la performance y cuál sería el nuevo costo del input? OPTIMIZACION DE CONSULTAS Página 8 de 9

4.10) Dada la siguiente consulta SQL : SELECT DISTINCT NF FROM ped ped1 WHERE NOT EXISTS ( SELECT * FROM ped ped2 WHERE NOT EXISTS ( SELECT * FROM ped ped3 WHERE ped3.np = ped2.np AND ped3.nf = ped1.nf ) ) ; Suponiendo que todo índice entra en MP y que existen un índice por el atributo np. Se pide : a) El costo del input ( para M = 2 ). b) Puede disminuir el costo anterior con un diseño físico más adecuado a dicha consulta? Si contesta afirmativamente indique cual es el diseño físico correspondiente y el nuevo costo del input. c) Qué pasará si reemplazamos el primer SELECT... FROM... por SELECT NF FROM fab y cambiamos ped1.nf por fab.nf en la última línea? 4.11) Se ha creado un índice múltiple ( secundario y denso ) de la siguiente manera : CREATE INDEX PEPE ON empleado ( APELLIDO, CIUDAD, PROVINCIA ) ; Encuentre una estrategia inteligente para cada una de las siguientes consultas dando en cada caso su costo : a) Listar el apellido y ciudad de todos los empleados. b) Listar a todos los empleados que viven en Mar del Plata. c) Listar las ciudades donde viven los empleados de apellido González. OPTIMIZACION DE CONSULTAS Página 9 de 9