Il m'a été demandé de suivre le nombre de fois où chaque élément apparaissait dans les résultats d'une requête particulière. Ma pensée est de simplement stocker le résultat d'une requête dans une table de suivi et ensuite cracher les résultats à l'appelant. Je me demande quelle serait la méthode la plus efficace pour stocker ces résultats puisque l'ensemble de résultats pourrait inclure jusqu'à 1000 enregistrements.SQL Server - Stockage efficace des résultats d'une requête dans une table de suivi
Mon plan est d'extraire les résultats de la requête dans une table temporaire et d'insérer ces résultats dans la table de suivi, puis de renvoyer la table temporaire à la suite du SPROC. Quelque chose comme ceci:
DECLARE @QueryTime datetime
SET @QueryTime = GETDATE()
DECLARE @Results TABLE (X nvarchar(255), Y nvarchar(255))
INSERT INTO @Results
SELECT X,Y FROM TableA
INSERT INTO TableB
SELECT X, @QueryTime FROM @Results
SELECT X, Y FROM @Results
Quelqu'un at-il un moyen plus efficace de publier l'ensemble de résultats en vrac dans une table de suivi?
Merci, cela a très bien fonctionné. Parfois, tailler les choses est tout ce dont vous avez besoin. Je ne sais pas pourquoi j'étais si opposé à l'exécution de la requête à deux reprises. –