때때로, 하위 쿼리가 좋은이 코드와 같이, 자신의 자리를 가지고 :Sql Server 2008을 사용하여 하위 쿼리가있는 SELECT 문을 리팩토링하는 방법은 무엇입니까?
select x1.test, (select r from table) from ......
그러나, 더 하위 쿼리에 추가하는 것은 몇/
이름을 성능 문제 및 재사용 문제처럼 쿼리에 대한 자세한 장애를 생산 나는 아래의 SQL 코드를 리팩토링 것이 이전보다 빠르게 실행하는 방법...
Select f.c1
,f.c2
,f.c3 As 'c3Id'
,p.Value As 'c3'
,m.c4 As 'r1'
,(Select SUM(t1.table1x)
From [ap].table1 t1
Where t1.table1x = 1
And f.c1 = t1.c1
And f.c2 = t1.c2
And f.c3 = t1.c3) As 'r2'
,(Select SUM(t2.x)
From [ap].table2 t2
Where t2.c1 = f.c1
And t2.c1 = f.c2
And t2.c3 = f.c3) As 'r3'
,(Select SUM(t1.table1x)
From [ap].table3 t3
Where t3.table3Turu = 2
And f.c1 = t3.c1
And f.c2 = t3.c2
And f.c3 = t3.c3) As 'r4'
,(Select SUM(t4.x)
From [ap].table4 t4
Where t4.c1 = f.c1
And t4.c1 = f.c2
And t4.c3 = f.c3) As 'r5'
From [ap].table1 f
Inner Join [dbo].table5 m On f.c1 = m.col11
Inner Join [dbo].table6 p On f.c3 = p.col22
Where p.xxxx = 'test'
Group By f.c1, f.c2, f.c3, m.c4, p.Value
쿼리를 리팩터링 (중복 코드 줄이기)하거나 성능을 향상시키는 것이 가장 중요합니까? 이러한 목표가 상충 될 수 있습니다. – Pondlife