Evaluación Final TSQL
Evaluación Final TSQL
Evaluación Final TSQL
Evaluación Final
select p.ProductID,
p.ProductName,
p.UnitsInStock
--od.OrderID
from Orders o
inner JOIN [Order Details] od ON od.OrderID =o.OrderID
inner JOIN Products p ON p.ProductID = od.ProductID
where datepart(year,o.orderdate)='1998'
group by p.ProductID,
p.ProductName,
p.UnitsInStock,
od.OrderID
4. Mejorar el costo de la siguiente consulta, (usar índices, cambio de consulta, etc) incluir
evidencias.
SELECT P.Name, SUM(SOD.OrderQty) ITEMS, SUM(SOD.UnitPriceDiscount) DESCUENTO
FROM SALES.SalesOrderDetail SOD
INNER JOIN Production.Product P
ON SOD.ProductID = P.ProductID
INNER JOIN Production.ProductSubcategory PSC
ON P.ProductSubcategoryID = PSC.ProductSubcategoryID
WHERE PSC.Name = 'Road Bikes'
GROUP BY P.Name
6. Explique que es un deadlock e indique que hace el motor de base de datos cuando
detecta uno.
Un Deadlock (también llamado "bloqueo mutuo", "abrazo mortal", "punto
muerto", etc.) sucede cuando dos o más transacciones intentan hacer
bloqueos de claves en orden opuesto, por ejemplo:
Msg 1205, Nivel 13, Estado 51, Línea 6 Transacción (ID de proceso 62) se
bloqueó en los recursos de bloqueo con otro proceso y se ha elegido como
víctima de bloqueo. Vuelva a ejecutar la transacción.
Se debe pegar evidencia de la resolución del problema y explicar la razón del por qué
la solución implementada resolvió el problema.
BEGIN TRY
BEGIN TRANSACTION
UPDATE Alumno
SET nombre='Edgar',Apellido='Flores',carrera='Administración'
WHERE CodigoAlumno=1
COMMIT
END TRY
BEGIN CATCH
PRINT ERROR_MESSAGE()
ROLLBACK
END CATCH
Optimizar las siguientes dos consultas y evidenciar con el plan de ejecución y las
estadísticas de lecturas (SET STATISTICS IO ON) la mejora en la ejecución:
1) QUERY INICIAL
SELECT Carrera,osea
count(DNI) AS Alumnos_Por_Carrera
FROM Alumno
GROUP BY Carrera
EL COSTO ES DE 0.006s
2) MEJORA 1
(2 filas afectadas)
Tabla "Worktable". Número de examen 0, lecturas lógicas 0, lecturas
físicas 0, lecturas de servidor de páginas 0, lecturas anticipadas 0,
lecturas anticipadas de servidor de páginas 0, lecturas lógicas de
línea de negocio 0, lecturas físicas de línea de negocio 0, lecturas de
servidor de páginas de línea de negocio 0, lecturas anticipadas de
línea de negocio 0, lecturas anticipadas de servidor de páginas de
línea de negocio 0.
Tabla "Workfile". Número de examen 0, lecturas lógicas 0, lecturas
físicas 0, lecturas de servidor de páginas 0, lecturas anticipadas 0,
lecturas anticipadas de servidor de páginas 0, lecturas lógicas de
línea de negocio 0, lecturas físicas de línea de negocio 0, lecturas de
servidor de páginas de línea de negocio 0, lecturas anticipadas de
línea de negocio 0, lecturas anticipadas de servidor de páginas de
línea de negocio 0.
Tabla "Alumno". Número de examen 1, lecturas lógicas 100, lecturas
físicas 0, lecturas de servidor de páginas 0, lecturas anticipadas 0,
lecturas anticipadas de servidor de páginas 0, lecturas lógicas de
línea de negocio 0, lecturas físicas de línea de negocio 0, lecturas de
servidor de páginas de línea de negocio 0, lecturas anticipadas de
línea de negocio 0, lecturas anticipadas de servidor de páginas de
línea de negocio 0.
(1 fila afectada)
4) QUERY MEJORADO
(2 filas afectadas)
Tabla "Alumno". Número de examen 1, lecturas lógicas 42, lecturas
físicas 0, lecturas de servidor de páginas 0, lecturas anticipadas 0,
lecturas anticipadas de servidor de páginas 0, lecturas lógicas de
línea de negocio 0, lecturas físicas de línea de negocio 0, lecturas de
servidor de páginas de línea de negocio 0, lecturas anticipadas de
línea de negocio 0, lecturas anticipadas de servidor de páginas de
línea de negocio 0.
(1 fila afectada)