Tenho o seguinte código em uma instância gerenciada do SQL Server Azure e o desempenho é bem ruim.
INSERT INTO #CU WITH (TABLOCKX) (LA_ID, CU_ID)
SELECT la.LA_ID,
c2.CU_ID
FROM #la la
INNER JOIN dbo.T1 c ON c.CU_ID = la.CU_ID
INNER JOIN dbo.T1 c2 ON c2.Parent_CU_ID = c.Parent_CU_ID
WHERE c.Parent_CU_ID > 0
AND c.CU_ID <> c2.CU_ID
AND la.Flag1 = 1
AND EXISTS (SELECT 1 FROM #cid WHERE c2.CU_ID = ID)
Tenho um índice filtrado em T1.Flag, e se eu remover a desigualdade o desempenho é mais do que aceitável (5 minutos para 10 segundos), então estou confiante de que meu problema é com a desigualdade, mas não consigo pensar em nenhum padrão que me dará os mesmos resultados, mas terá um desempenho melhor. Alguma sugestão? Plano