Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Procesamiento y
Optimización de consultas
Material Preliminar – en preparación
Procesamiento y Optimización de consultas
Sistemas de Datos
Optimización SQL
• Parse
• Bind
• Execute
• Fetch
Procesamiento y Optimización de consultas
Sistemas de Datos
SELECT Cantidad_Alumnos_Reservada
FROM reserva_visita
GROUP BY Cantidad_Alumnos_Reservada
CREATE
INDEX [idx_cant_reservas]
ON reserva_visita
([Cantidad_Alumnos_Reservad
a])
WITH
DROP_EXISTING
ON [PRIMARY]
Procesamiento y Optimización de consultas
Sistemas de Datos
SELECT Codigo_Guia
FROM guia
Le sacamos la
clave primaria
Procesamiento y Optimización de consultas
Sistemas de Datos
SELECT REV.Codigo_Guia
FROM reserva_visita REV INNER JOIN
reserva_visita_grado RVG ON
REV.Codigo_Reserva = RVG.Codigo_Reserva
WHERE RVG.GRADO=3
GROUP BY REV.Codigo_Guia
Procesamiento y Optimización de consultas
Sistemas de Datos
SELECT REV.Codigo_Guia
FROM reserva_visita REV ,
reserva_visita_grado RVG
WHERE RVG.GRADO=3 AND REV.Codigo_Reserva
= RVG.Codigo_Reserva
GROUP BY REV.Codigo_Guia
Procesamiento y Optimización de consultas
Sistemas de Datos
SELECT REV.Codigo_Guia
FROM reserva_visita REV
WHERE REV.Codigo_Reserva IN(
SELECT RVG.Codigo_Reserva
FROM reserva_visita_grado RVG
WHERE RVG.GRADO=3)
GROUP BY REV.Codigo_Guia
Procesamiento y Optimización de consultas
Sistemas de Datos
Indices
•Los índices no guardan los valores nulos, con lo
que una búsqueda del tipo “...Where xx is null”
nunca utilizará un índice sobre xx
•Búsquedas de rangos en índices asociativos
•Búsquedas sólo sobre la/s columnas del índice
no requieren ir a la tabla
•Nuevos valores sobre índices bitmap -> Costo
de inserción
Procesamiento y Optimización de consultas
Sistemas de Datos
Indices
•Costo en performance cuando se añaden,
borran o actualizan valores del índice
•Las actualizaciones son las operaciones más
costosas porque implican un borrado y una
inserción en el índice
•Los índices sobre claves primarias rara vez sufren
actualizaciones, lo que lleva a pocas actualizaciones sobre
índices sobre claves foráneas.
•Tablas pequeñas
Procesamiento y Optimización de consultas
Sistemas de Datos
Acceso
Sistemas de Datos
Joins
•Bucle anidados (Nested-loops joins)
Procesamiento y Optimización de consultas
Sistemas de Datos
Joins
•Asociativos (hash join)
Procesamiento y Optimización de consultas
Sistemas de Datos
Joins
•Reunión por mezcla (sort-merge join)