Y a-t-il un moyen d'optimiser cette fonction UDF horrible et inefficace dans SQL Server 08. Je suis assez nouveau pour les UDF et surtout pour les optimiser.Comment puis-je optimiser cette fonction définie par l'utilisateur horriblement inefficace dans SQL Server 08
MISE À JOUR: Devrais-je envoyer une colonne à une fonction comme celle-ci si je voulais l'exécuter sur chaque ligne et chaque colonne d'une requête? Y a-t-il une meilleure façon de s'y prendre?
Merci Vous
** @value (float) et @fieldname (varchar (40)) sont des paramètres d'entrée **
BEGIN
DECLARE @UT integer, @FRM integer, @TO integer, @FACTOR float
select @UT = [UF_UT_ID] FROM dbo.UNIT_FIELDS where [UF_FIELD][email protected]
select @FRM = [UT_UN_ID_INTERNAL_UNITS] from dbo.UNIT_TYPES where [UT_ID][email protected]
select @TO = [UT_UN_ID_DISPLAY_UNITS] from dbo.UNIT_TYPES where [UT_ID][email protected]
select @FACTOR = [UC_SLOPE] from dbo.UNIT_CONVERSIONS where [UC_UN_ID_UNIT_FROM][email protected] and [UC_UN_ID_UNIT_TO][email protected]
-- Return the result of the function dbo.
RETURN @FACTOR*@value
END
Comment savez-vous que cette UDF est inefficace? Avez-vous vu quelque chose dans SQL Profiler? – MedicineMan