Treinamento SQL Server

Módulo 31 — Query Performance Tuning Avançado

Da hipótese à validação: metodologia, métricas, reescritas e automação de análise.

T-SQL Nível Avançado Hands-on Atualizado: 28 ago 2025

1) Metodologia de Tuning

2) Métricas & Baselines

SET STATISTICS IO, TIME ON;
-- Capture 3 execuções e use medianas (compilações podem enviesar)

3) Reescritas T-SQL Avançadas

-- Anti-OR em colunas diferentes → UNION ALL
SELECT ... WHERE A=1
UNION ALL
SELECT ... WHERE B=1;  -- melhor cardinalidade por ramo
-- TOP com APPLY para pegar “N por grupo”
SELECT * FROM T AS o
CROSS APPLY (
  SELECT TOP (3) * FROM T AS i WHERE i.Grupo=o.Grupo ORDER BY i.Data DESC
) as ult;

4) Operadores Custosos & Alternativas

5) Automatizando Achados (Query Store)

-- Marque regressões e force plano “bom” enquanto corrige a causa
EXEC sp_query_store_force_plan @query_id=101, @plan_id=204;

6) Laboratório

-- Partir de consulta lenta real, medir, reescrever e validar.

7) Exercícios

  1. Converter 2 ORs em UNION ALL e medir.
  2. Usar APPLY para N por grupo.

8) Gabarito

OPTION (RECOMPILE) vs OPTIMIZE FOR UNKNOWN: comparar tempos.

9) Boas Práticas

10) Próximos Passos