0% encontró este documento útil (0 votos)
19 vistas2 páginas

Optimización de Consultas en SQL

El laboratorio 7 de la Universidad de Chile se centra en la optimización de consultas en bases de datos, utilizando dos esquemas: uno con índices y otro sin ellos. Los estudiantes deben medir el impacto de los índices en consultas complejas y registrar los resultados, incluyendo tiempos de ejecución y planes de consulta. Además, se requiere un reporte que incluya SQL, planificación de consultas, gráficos de comparación y datos recolectados.

Cargado por

Jorge Velasquez
Derechos de autor
© All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
19 vistas2 páginas

Optimización de Consultas en SQL

El laboratorio 7 de la Universidad de Chile se centra en la optimización de consultas en bases de datos, utilizando dos esquemas: uno con índices y otro sin ellos. Los estudiantes deben medir el impacto de los índices en consultas complejas y registrar los resultados, incluyendo tiempos de ejecución y planes de consulta. Además, se requiere un reporte que incluya SQL, planificación de consultas, gráficos de comparación y datos recolectados.

Cargado por

Jorge Velasquez
Derechos de autor
© All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

Universidad de Chile

Departamento de Ciencias de la Computación


CC3201 - Bases de Datos

Laboratorio 7 - Optimización de Consultas


Profesor: Aidan Hogan
Auxiliar: Sebastián Ferrada

Se cuenta con la siguiente estructura:

Pelicula(nombre:string, anho:int, calificacion:float, votos:int)

Actor(nombre:string, genero:char)

Personaje(a nombre:string, p nombre:string, p anho:int, personaje:string)

En la base de datos hay dos esquemas en el servidor del curso: uno con los datos indexados
y otro sin ı́ndices. En cada esquema está la estructura tres veces: en la primera se encuentran los
datos para pelı́culas con más de 10.000 votos, en la segunda los datos de pelı́culas con más de 1.000
votos y en la tercera para las pelı́culas con más de 100 votos.
En el laboratorio, usted deberá medir el efecto de utilizar ı́ndices en consultas complejas y
deberá contrastar los resultados prácticos con los teóricos. Ud. debe entregar un breve reporte (en
pdf) con sus respuestas.

P1. Usando el esquema lab7 cuente las tuplas de las tablas presentes. Debe notar que las tablas
10k tienen menos tuplas que las 1k y muchas menos que las 100. Registre sus resultados.
En el esquema lab7 index explore los ı́ndices que están a su disposición usando \d+ tabla.
Recuerde que postgres agrega un indice para la llave primaria por defecto, entonces lab7 sólo
tiene esos indices.

P2. Use la consulta detallada más adelante. Ejecútela en los esquemas lab7 y lab7 index. Uti-
lizando EXPLAIN ANALYZE obtenga los planes de consulta y tiempos de ejecución. Registre
estos datos e indique cantidad de queries por segundo que pueden realizarse y la cantidad de
registros accedidos en cada uno de los esquemas.
SELECT * FROM personaje100 WHERE p nombre=’Pulp Fiction’

P3. Seleccione tres consultas complejas: una que use una consulta por rango (mientras más pequeño
el rango, más se beneficia la consulta del indexamiento) una que requiera joins y una que utilice
consultas anidadas. Para cada consulta ud. debe:

Ejecutar las consultas en el esquema lab7 usando las tablas terminadas en 10k, 1k y 100
usando EXPLAIN ANALYZE y registre los tiempos.
Ejecutar las consultas en el esquema lab7 index usando las tablas terminadas en 10k,
1k y 100 usando EXPLAIN ANALYZE y registre los tiempos. Note que es impresindible que
su consulta utilice alguno de los ı́ndices proporcionados (es decir, no los ı́ndices por
defecto de las llaves primarias), sino deberá seleccionar otra consulta.

1
Universidad de Chile
Departamento de Ciencias de la Computación
CC3201 - Bases de Datos

Figura 1: Gráfico de ejemplo: se muestran las curvas para las consultas con y sin ı́ndices y cómo
varia el tiempo de ejecución respecto al tamaño de las tablas.

Muestre gráficamente (usando la herramienta que estime conveniente) cómo varı́a el tiem-
po de ejecución respecto al tamaño de las tablas, tanto en la versión sin ı́ndices, como en
la versión indexada. Puede ver un ejemplo del gráfico esperado en la Fig. 1.

En su reporte entonces debe mostrar los datos recolectados en P1 y P2 y además, para cada
consulta:

El SQL de la consulta
La planificación de la consulta con y sin ı́ndices
El gráfico de comparación
La cantidad (aprox.) de registros visitados en la base de datos más grande para ambos
casos

También podría gustarte