declare @st datetime
SET @st =getdate()
CREATE TABLE #Actualizar (OrderId int, ShipVia int, Freight money)
INSERT INTO #Actualizar SELECT OrderID, ShipVia, Freight
FROM Orders WHERE ShipVia=2 AND ShippedDate IS NULL
UPDATE Orders SET ShipVia=3, Freight=10 WHERE OrderID IN
(SELECT OrderID FROM #Actualizar)DROP TABLE #Actualizar
PRINT 'Operacion completada en: ' + RTRIM(cast(datediff(ms,@st,getdate()) as char(10)))
+ ' milisegundos'
Y obtenemos como resultado:
(11 filas afectadas)
(11 filas afectadas)
Operacion completada en: 140 milisegundos
DECLARE @st datetime
SET @st =getdate()
DECLARE @Actualizar TABLE(OrderId int, ShipVia int, Freight money)
INSERT INTO @Actualizar SELECT OrderID, ShipVia, Freight
FROM Orders WHERE ShipVia=2 AND ShippedDate IS NULL
UPDATE Orders SET ShipVia=3, Freight=10 WHERE OrderID IN
(SELECT OrderID FROM @Actualizar)
PRINT 'Operacion completada en: ' + rtrim(cast(datediff(ms,@st,getdate()) AS char(10)))
+ ' milisegundos'
Y en este caso el resultado es:
(11 filas afectadas)
(11 filas afectadas)
Operacion completada en: 73 milisegundos
DECLARE @st datetime
SET @st =getdate()
UPDATE Orders SET ShipVia=3, Freight=10 WHERE OrderID IN
(SELECT OrderID FROM Orders WHERE ShipVia=2 AND ShippedDate IS NULL)
PRINT 'Operacion completada en: ' + rtrim(cast(datediff(ms,@st,getdate()) AS char(10)))
+ ' milisegundos'
Y por último obtenemos:
(11 filas afectadas)
Operacion completada en: 50 milisegundos
Desde luego este ejemplo no es significativo, y en cada caso hay que estudiar la situación y comparar los resultados obtenidos en un entorno de trabajo para saber cual es la mejor opción, pero de todos modos espero que esto os sirva al menos para conocer un poco mejor a las "tablas temporales".
Usuarios que han visto este tema también han visto...
- FULL-TEXT Search en SQL Server
- Funciones para el manejo de grupos de filas con SQL
- Subconsultas en SQL
- Consultas con Parámetros en SQL
- Gestión de vistas en SQL
Información legal | Política de Privacidad | Contacte con nosotros
Otro proyecto de Factoría de Internet. Copyright© 2003-2008 Factoría de Internet S.L.. Todos los derechos reservados.