쿼리와 뷰 비교
쿼리와 뷰는 서로 유사한 점이 많기 때문에 이 둘의 차이를 간과하기 쉽습니다. 여기에서는 쿼리와 뷰를 간단하게 비교하여 설명합니다.
저장 뷰는 데이터베이스 디자인의 일부로 저장되지만 쿼리는 저장되지 않습니다. 데이터베이스를 디자인하는 경우 다음과 같은 이유로 뷰를 디자인에 포함시킬 수 있습니다.
일부 데이터 하위 집합이 많은 사용자와 관련되어 있습니다. 각 뷰는 데이터베이스에 저장되기 때문에 모든 데이터베이스 사용자가 사용할 수 있는 특정 데이터 하위 집합을 만듭니다.
뷰에서 기본 테이블을 숨길 수 있습니다. 데이터베이스 테이블에 대한 사용자의 액세스를 모두 거부할 수 있으며, 이 경우 사용자는 뷰를 통해서만 데이터를 조작할 수 있습니다. 이 방법을 사용하면 사용자와 응용 프로그램은 특정 데이터베이스의 내용을 수정해도 영향을 받지 않습니다. 예를 들어, "금월 판매"라는 뷰를 만들어 매월 1일에 뷰 정의를 적절하게 수정할 수 있습니다. 이와 같은 뷰를 사용하지 않으면 사용자는 매월 쿼리를 다시 작성하여 해당 월에서 판매 행을 선택해야 합니다.
결과 업데이트 뷰와 쿼리에 대한 결과 집합 업데이트 제한이 서로 다르게 설정되어 있습니다. 자세한 내용은 결과 업데이트 규칙을 참조하십시오.
결과 정렬 (Microsoft SQL Server에만 해당) 쿼리 결과를 모두 정렬할 수 있지만 뷰 결과는 뷰에 TOP 절이 있어야만 정렬할 수 있습니다. TOP 절에 대한 자세한 내용은 SQL Server 설명서를 참조하십시오. 정렬에 대한 자세한 내용은 쿼리 결과 정렬 및 그룹화를 참조하십시오.
쿼리 계획 생성 쿼리 계획은 데이터베이스 서버가 결과 집합을 빨리 만들기 위해 시도하는 내부 방법입니다. 데이터베이스 서버는 뷰가 저장되는 즉시 뷰에 대한 쿼리 계획을 설정할 수 있습니다. 그러나 쿼리의 경우 쿼리를 실제로 실행할 때까지, 즉 사용자가 결과 집합을 명시적으로 요구할 때까지 데이터베이스 서버는 쿼리 계획을 설정할 수 없습니다.
매개 변수화 쿼리에 대한 매개 변수를 만들 수 있지만 뷰에 대한 매개 변수는 만들 수 없습니다. 매개 변수화된 쿼리에 대한 자세한 내용은 매개 변수를 사용하여 쿼리를 참조하십시오.