Creacion de la funcion:
Código SQL:
He realizado las siguientes pruebas para ejecutar la funcion:Ver original
------------- FUNCION --------------------- CREATE FUNCTION [prueba].[fn_prueba]( @id_persona INT , @periodo CHAR(6) ) RETURNS TABLE AS RETURN ( SELECT id , periodo , fecha , usuario FROM datos WHERE id = @id_persona AND periodo = @periodo ) --------------------------------------------
1) prueba 1:
Código SQL:
2) prueba 2 Ver original
DECLARE @id_persona INT =1232,@periodo CHAR(6) = '201408' SELECT * FROM prueba.fn_prueba(@id_persona,@periodo)
Código SQL:
Ver original
SELECT * FROM prueba.fn_prueba(1232 ,'201408')
Resultado de las pruebas:
1) para la “prueba 1” la funcion se tardo en retorna los valores seis segundo (6s)
2) para la “prueba 2” la funcion se tardo en retorna los valores 1 segundo (1s)
Conclucion:
Necesito colaboracion para determinar que puede estar sucediendo y como cual puede ser la forma de optimizar la “prueba 1” . Si la unica diferncia entre las dos pruebas es declarar las varibles “
Código SQL:
” y despues enviarlas por el parametro a la funcion.Ver original
DECLARE @id_persona INT =1232,@periodo CHAR(6) = '201408'
Si necesitan mas informacion para determinar el problema, pueden solicitarla.
Muchas gracias por la colaboracion.