Hola Foro:
Cual de estas instrucciones es más rapida?
****1era opcion; Tengo en un SP:
USE [Northwind]
GO
ALTER PROCEDURE [dbo].[coop_Territories_GetAll] AS
SELECT
[TerritoryID],
[TerritoryDescription],
[RegionID],
dbo.coop_Region_GetDescription(RegionID) AS RegionString
FROM [dbo].[Territories]
Esta es la funcion:
ALTER FUNCTION [dbo].[coop_Region_GetDescription]
(
@RegionID int
)
RETURNS varchar(100)
AS
BEGIN
RETURN (
SELECT [RegionDescription]
FROM [Region]
WHERE
[RegionID] = @RegionID
)
END
*****2da opcion; Tengo en un SP con el siguiente Select: En el cual uno 2
tablas trayendo el nombre de la Region
USE [Northwind]
GO
ALTER PROCEDURE [dbo].[coop_Territories_GetAll] AS
SELECT
[TerritoryID],
[TerritoryDescription],
Territories.[RegionID], Region.RegionDescription AS RegionString
FROM dbo.Territories left join dbo.Region on Territories.RegionID =
Region.RegionID
-Me gustaria su opinión , aparentemente son iguales , pero cual tendría
mejor performance??
-Probando en el SQL SERVER PROFILER ambas resultan con un tiempo similar en
milisegundos, es más me atreveria a decir que aquel que llama a la función
es mas rápida;
pero claro solo hice pruebas con Northwid y pocos datos.
-Alguien que pueda dar una explicación mas exacta de lo que hace la 2da
Opción por la cual hace que demore algo mas??
Gracias de antemano.
SAMUEL S.M.H
Lima-Perú
Leer las respuestas