뷰 내부 또는 외부에서 뷰를 필터링하면 차이가 있습니까?
예를 들어이 두 쿼리간에 차이점이 있습니까?
SELECT Id
FROM MyTable
WHERE SomeColumn = 1
또는
SELECT Id
FROM MyView
WHERE SomeColumn = 1
그리고 MyView
다음과 같이 정의됩니다
SELECT Id, SomeColumn
FROM MyTable
소스 테이블이 링크 된 서버에있는 경우 답변이 다른가요?
연결된 서버에서 큰 테이블 (44mil 행)을 두 번 쿼리하고 결과를 집계해야하기 때문에 묻습니다. 데이터에 액세스하기 위해 두 개의 뷰를 작성 해야하는지, 각 쿼리마다 하나씩, 단일 뷰와 WHERE
절로 벗어날 수 있는지 알고 싶습니다 .
UNION ALL
. 데이터가 필요할 때마다 UNION 쿼리를 다시 작성하는 것보다 View를 사용하는 것이 훨씬 쉽습니다.