Está en la página 1de 11

GESTIÓN Y SEGURIDAD DE BASES DE DATOS

AA9-Ev4-Técnicas para la optimización de bases de datos

William Andrés Hurtado Torres

Ficha: 1881769

Servicio Nacional de Aprendizaje

SENA

Bogotá, septiembre de 2019


Contenido
Introducción .................................................................................................................................................. 3
Taller ............................................................................................................................................................. 3
Actividad 1 ................................................................................................................................................ 3
Actividad 2 ................................................................................................................................................ 5
Actividad 3 ................................................................................................................................................ 8
Herramientas de Optimización SQLServer.................................................................................................. 11
Uso del optimizador de consultas ........................................................................................................... 11
Introducción
En este laboratorio se abordará el tema de la optimización de consultas a través de las
herramientas del SMBD, con el fin de mejorar la eficiencia en los tiempos de respuesta de la
base de datos usando los recursos disponibles. En algunas ocasiones la complejidad de la
consulta puede ser causante de una baja en el rendimiento del sistema, por tal motivo este
laboratorio está diseñado para el conocimiento de las herramientas y métodos para que las BD
alcancen un alto grado de eficiencia.
El tener el SMBD en óptimas condiciones depende en gran parte del diseño de la estructura y
de los objetos incorporados a las Bases de Datos, el siguiente laboratorio abarca los temas de
creación de índices, herramientas para la optimización y algunas recomendaciones en el uso de
la base de datos

Taller
Actividad 1
Alcaldía de San Antonio del Sena, necesita un informe de todos los usuarios registrados en la base
de datos de la Secretaria de Salud, que tengan la letra “C” como inicial de su primer nombre.
1. Script
select idPersona, nombre, apellido, fechaNacimiento, sexo
from persona
where nombre like 'c%'

2. Estadísticas
3. Plan de Ejecución

4. Índices
Se crea un índice para optimizar las consultas basadas en los nombres de las personas
create nonclustered index IPersonaNombre
on persona (nombre)

5. Estadísticas

6. Plan de Ejecución
Se observa una mejora en la consulta ya que el costo de los recursos del 100% bajo al 85%
y el tamaño de las filas bajo de 54B a 50B, teniendo en cuenta de que existen pocos
registros no se ve el cambio radical al momento de la implementación de los índices.

Actividad 2
Se necesita un listado de todas las personas retiradas con los siguientes datos: nombre, apellido,
estado, eps, que servicios se les ha prestado a las personas retiradas y cuanto cancelaron en total
por los servicios prestados. Adicionalmente se necesita que el informe salga en forma ordenada
alfabéticamente por apellido.
1. Script
Select p.apellido, p.nombre, ep.descripcion as estadopersona, e.nombre as EPS,
ts.descripcion as Servicio, SUM(se.valor) as 'Total Servicios'
from Persona as P
inner join HistorialPersona as H on h.idpersona = p.idPersona
inner join EstadoPersona as EP on ep.idEstadoPersona = h.estadopersona
inner join EPS as E on h.ideps = e.ideps
inner join ServicioEps as SE on e.ideps = se.ideps
inner join TipoServicio as TS on se.idtiposervicio = se.idtiposervicio
where ep.descripcion = 'Inactivo'
group by ts.descripcion, p.nombre, p.apellido, ep.descripcion, e.nombre
order by p.apellido
2. Estadísticas

3. Plan de Ejecución

4. Índices

Se crea un índice para optimizar las consultas basadas en los apellidos de las personas
create nonclustered index IPersonaApellido
on persona (apellido)

Se crea un índice para optimizar las consultas basadas en los estados de los estados
persona
create nonclustered index IEstadoPersonaDescripcion
on estadopersona (descripcion)

5. Estadísticas

6. Plan de Ejecución

Se observa una mejora en la consulta ya que el tiempo de respuesta de la consulta fue de


0.011 y bajo al 0.005 como en cada uno de los JOIN ejecutados y el tamaño de las filas se
mantuvo de 73B, teniendo en cuenta de que existen pocos registros no se ve el cambio
radical al momento de la implementación de los índices.
Actividad 3
Se requiere una consulta por EPS de todos sus afiliados, cuál sería la forma más correcta de hacer
la consulta para mejorar los tiempos de respuesta. Si requiere de crear o no índices especifique
porque de su respuesta y demuéstrelo con su script.
1. Script
Select e.nombre as EPS, p.idPersona, p.apellido, p.nombre, p.fechaNacimiento, p.sexo,
p.tipoidentificacion
from Persona as P
inner join HistorialPersona as H on h.idpersona = p.idPersona
inner join EPS as E on h.ideps = e.ideps
order by e.nombre, p.apellido

2. Estadísticas
3. Plan de Ejecución

4. Índices
create nonclustered index IEpsNombre
on eps (nombre)

5. Estadísticas
6. Plan de Ejecución
Se crea un índice para el manejo de los nombres de las EPS para futuras consultas con
mayor volumen de registros, al ejecutar nuevamente las consultas los tiempos de
respuesta y tamaños de filas son los mismos.
Herramientas de Optimización SQLServer
Uso del optimizador de consultas

En el siguiente link se muestra el uso de la herramienta “Optimizador de base de datos” en SQL


Server Management Studio.
https://www.youtube.com/watch?v=rNhEFm88Rjg

También podría gustarte