microsoft - SQL Server Management Studio, cómo reducir el tiempo de ejecución a milisegundos
sql server management studio 2017 español (7)
Active Estadísticas de cliente haciendo una de las siguientes acciones:
- Menú: Consulta> Incluir estadísticas de cliente
- Barra de herramientas: haga clic en el botón (junto a Incluir tiempo de ejecución real)
- Teclado: Shift-Alt-S
Luego, obtiene una nueva pestaña que registra los tiempos, los datos de E / S y los recuentos de filas, etc. para (hasta) las últimas 10 ejecuciones (¡más promedios!):
Cuando envío un lote (por ejemplo, realizo una consulta) en SSMS, veo el tiempo que tardó en ejecutarse en la barra de estado. ¿Es posible configurar SSMS para mostrar el tiempo de consulta con una resolución de milisegundos?
Aquí está el bar del que estoy hablando con la sección de interés marcada en rojo:
Estaba luchando con eso hasta que encontré esto ...
Además, si abre la ventana Propiedades, puede encontrar algún "Tiempo transcurrido de conexión" mágico que le puede dar algún tiempo de ejecución ... Espero que ayude ...
Lo que quieres hacer es esto:
set statistics time on
-- your query
set statistics time off
Eso tendrá el resultado luciendo algo como esto en la ventana de Mensajes:
Tiempos de ejecución de SQL Server: tiempo de CPU = 6 ms, tiempo transcurrido = 6 ms.
No sé cómo expandir la barra de información.
Pero puede obtener los tiempos configurados como predeterminados para todas las consultas que se muestran en la pestaña "Mensajes".
Cuando se encuentre en una ventana de Consulta, vaya al elemento del Menú de Consulta, seleccione "opciones de consulta", luego seleccione "avanzado" en el grupo "Ejecución" y marque las casillas de verificación "establecer estadísticas de tiempo" / "establecer estadísticas IO". Estos valores aparecerán en el área de mensajes para cada consulta sin tener que recordar poner y quitar las estadísticas establecidas.
También puede usar Mayús + Alt + S para habilitar las estadísticas del cliente en cualquier momento
Para obtener el tiempo de ejecución como una variable en su proceso:
DECLARE @EndTime datetime
DECLARE @StartTime datetime
SELECT @StartTime=GETDATE()
-- Write Your Query
SELECT @EndTime=GETDATE()
--This will return execution time of your query
SELECT DATEDIFF(ms,@StartTime,@EndTime) AS [Duration in millisecs]
Y mira esto
Puedes probar este código:
USE AdventureWorks2012;
GO
SET STATISTICS TIME ON;
GO
SELECT ProductID, StartDate, EndDate, StandardCost
FROM Production.ProductCostHistory
WHERE StandardCost < 500.00;
GO
SET STATISTICS TIME OFF;
GO
Yo buscaba lo mismo y tropecé con el siguiente enlace, que fue genial:
http://www.sqlserver.info/management-studio/show-query-execution-time/
Muestra tres formas diferentes de medir el rendimiento. Todo bien para sus propias fortalezas. El que opté por fue el siguiente:
DECLARAR @ Time1 DATETIME
DECLARAR @ Time2 DATETIME
SET @ Time1 = GETDATE ()
- Insertar consulta aquí
SET @ Time2 = GETDATE ()
SELECCIONAR DATEDIFF (MILLISECOND, @ Time1, @ Time2) AS Elapsed_MS
Esto mostrará los resultados de su consulta seguidos de la cantidad de tiempo que tomó completar.
Espero que esto ayude.