Меня попросили отслеживать, сколько раз каждый элемент появляется в результатах определенного запроса. Моя мысль состоит в том, чтобы просто сохранить результат запроса в таблице отслеживания, а затем выплевывать результаты обратно вызывающей стороне. Мне интересно, каким будет наиболее эффективный способ хранения этих результатов, поскольку набор результатов может включать до 1000 записей.
Мой план - перетащить результаты запроса во временную таблицу и вставить эти результаты в таблицу отслеживания, а затем вернуть временную таблицу как результат SPROC. Примерно так:
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
Есть ли у кого-нибудь более эффективный способ публикации набора результатов в таблицу отслеживания?