Bonsoir à tous,
Je travaille en SQL 2000.
(Je fais ce topic sans utiliser les requetes developpé sur mon pc, merci de ne pas faire trop attention à la syntaxe - Je me suis également trompé d'onglet pour la publication du post)
Je viens vers vous pour essayer de trouver un moyen d'optimisation d'une function.
Je souhaite faire une function avec beaucoup de parametres : 9
Il s'agit de jeux de parametre qui me permettent de satisfaires tous mes éventuels besoin d'iinvestigation.
Dans une SP je peux ainsi faire
SELECT* FROM MaFunction (@Param1, NULL,NULL,@Param2, NULL,NULL,@Param3, NULL,NULL)
La function est de la forme :
CREATE FUNCTION MaFunction
(
@Par1 as varchar(100),@Par2 as varchar(100),
@Par3 as varchar(100),@Par4 as varchar(100),
@Par5 as varchar(100),@Par6 as varchar(100),
@Par7 as varchar(100),@Par8 as varchar(100),
@Par9 as varchar(100))
SELECT PRID.Id, SRID.Id, PN.Value FROM Maview
WHERE
(PRID LIKE @Par1 OR PRID LIKE @Par2 OR PRID LIKE @Par3)
AND
(SRID LIKE @Par4 OR SRID LIKE @Par5 OR SRID LIKE @Par6)
AND
(PN.Value LIKE @Par7 OR PN.Value LIKE @Par8 OR PN.Value LIKE @Par9)
Mon soucis est que à mon sens cette requete nest pas performante. J'utilise systematiquement des jeux de 3 parametres sans forcément en avoir besoin.
Pourriez vous me donner des pistes afin d'optimiser ma function, par rapport au paramètres passés tout en concervant ces 9 parametres ?
Cordialement
Partager