SQL оптимизация запросов и производительность отчетов SSRS - PullRequest
0 голосов
/ 02 марта 2020

Код ниже взят из отчета SSRS, выполнение которого занимает много времени. Он извлекает данные из архивной таблицы, в которой содержатся миллионы записей. Код не был написан мной, поэтому я не очень понимаю его. Есть ли способ оптимизировать следующий код? Это часть кода, которая вызывает проблемы при проверке с монитора активности. Создание индекса в БД тоже занимает много времени. Есть ли лучший метод?

Insert into #MandrillResponses 
select EmailResultID, eventtype,
    case when IsNull(count(*),0) > 0 then 1 else 0 end 
from #EmailsSent s
join TDN_MandrillResponse r on (s.UniqueID = r.EmailResultID) where eventtype not in ('open','click','Deferral')
group by EmailResultID, eventtype
insert into #MandrillResponses  
select EmailResultID, eventtype, max(count)    
from #EmailsSent s
    join TDN_MandrillResponse r on (s.UniqueID = r.EmailResultID) where eventtype in ('open','click','Deferral')
    group by EmailResultID, eventtype
UNION
select EmailResultID, eventtype, max(count)  
from #EmailsSent s
    join archive_TDN_MandrillResponse r on (s.UniqueID = r.EmailResultID) where eventtype in ('open','click','Deferral')
group by EmailResultID, eventtype;

enter image description here enter image description here enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...