No caso de hoje vamos falar sobre um caso que atuamos num cliente que tinha um job que chamava uma SP e o tempo médio de execução era de 9h30min. Dentro dessa SP executava basicamente uma query como a abaixo:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40
|
SELECT CTE.CAMPO1 ,CTE.CAMPO2 ,CTE.CAMPO3 ,CTE.CAMPO4 ,CTE.CAMPO2 - ABS(CTE.CAMPO3 + CTE.CAMPO4) CAMPO5 FROM ( SELECT dbo.FNCDATA(TAB1.CAMPO1) CAMPO1 ,TAB1.CAMPO2 ,TAB2.CAMPO3 ,TAB2.CAMPO4 FROM LS_SERVIDOR.BASE1.dbo.TABELA1 TAB1(NOLOCK) INNER JOIN LS_SERVIDOR.BASE2.dbo.TABELA2 TAB2 (NOLOCK) ON TAB1.CODIGO = TAB2.CODIGO WHERE TAB1.CAMPO1 >= @DT_INI ) CTE GROUP BY CTE.CAMPO1 ,CTE.CAMPO2 ,CTE.CAMPO3 ,CTE.CAMPO4 HAVING CTE.CAMPO2 - ABS(CTE.CAMPO3 + CTE.CAMPO4) <> 0 |
Era uma subquery que ia via linked server buscar os dados para serem agrupados…
Leia mais