뷰인 테이블에서 2 열에 대해 null이 아닌 쿼리를 찾을 수 있으므로 실행에 많은 시간이 걸립니다. 쿼리는 다음과 같습니다 Query1을찾기 COALESCE를 사용하여 여러 열에 null이 아님
SELECT [Table1].M, [[Table1]].B, [Table1].P
FROM [Table1]
WHERE ((([[Table1]].B) Is Not Null) AND (([[Table1]].P) Is Not Null));
은 아래의 쿼리를 빠르게 실행 시간에 Query1 같이 동일한 기능을 수행합니까?
SELECT [Table1].M, [[Table1]].B, [Table1].P
FROM [Table1]
WHERE COALESCE (([[Table1]].B),([[Table1]].P)) Is Not Null
어떤 도움을 주셔서 감사드립니다.
select dbo.TABLE1.[COL1]
, dbo.TABLE1.[COL2]
, RIGHT(dbo.TABLE1.M, 12) as M
, dbo.TABLE2.[MD]
, dbo.TABLE1.[COL3]
, dbo.TABLE1.[COL4]
, dbo.TABLE3.COL1
, dbo.TABLE3.[COL2]
, dbo.TABLE3.[COL3]
, dbo.TABLE4.[COL1]
, dbo.TABLE5.[COL1]
, dbo.TABLE6.[COL1]
, dbo.TABLE7.[COL1] as [BA]
, dbo.TABLE8.[COL1]
, dbo.TABLE3.[COL4]
, dbo.TABLE3.[COL5]
, dbo.TABLE3.[COL6]
from dbo.TABLE1
left outer join dbo.TABLE2
on dbo.TABLE1.M = dbo.TABLE2.M
left outer join dbo.TABLE3
on dbo.TABLE1.M = dbo.TABLE3.M
left outer join dbo.TABLE5
on dbo.TABLE3.[OBJ_NR] = dbo.TABLE5.OBJ
left outer join dbo.TABLE6
on dbo.TABLE3.[OBJ_NR] = dbo.TABLE6.OBJ
left outer join dbo.TABLE7
on dbo.TABLE3.[OBJ_NR] = dbo.TABLE7.OBJ
left outer join dbo.TABLE4
on dbo.TABLE3.[OBJ_NR] = dbo.TABLE4.OBJ
left outer join dbo.TABLE8
on dbo.TABLE3.[OBJ_NR] = dbo.TABLE8.OBJ
where (
(
dbo.TABLE1.[COL1] not in (
'XX'
, 'YY'
)
)
and (dbo.TABLE1.COL5 = 'x')
)
그것은 아마 모든 괄호를 운동 반 시간을 보내는 것 :
당신은 여기 설치에 적합한 인덱스를 얻을 수있는 몇 가지 테스트를 수행하지만해야 할 수 있습니다내가 변경 일의 샘플입니다. ;) –
더 심각하게, 테스트 데이터를 작성하고 전제가 정확한지 확인해 보셨습니까? 몇 천 번 실행하고 출력 및 실행 시간 등을 확인하십시오. –
저는 아마추어가 이런 포럼을 통해 내 속임수를 배우고 있습니다. 이런 상황에 접근하는 방법에 대한 아이디어를 얻으면 큰 도움이 될 것입니다. 감사합니다 – AllPigsREqual