뷰가 작동하는 방식과 뷰를 직접 사용하고 테이블을 직접 쿼리하는 방식을 사용하는 것이 가장 중요합니다. 여기 내 시나리오 :테이블 또는 뷰를 쿼리하는 것이 더 효율적입니까?
- 기본 데이터의 모든 표는 네 개의 열이 포함
- 데이터 세 달의 가치를 저장하는 하나의 테이블에 상주 : '태그 이름', '알람', '타임 스탬프'와 '값'; 'TagName'및 'Timestamp'의 색인이 생성됩니다.
- 1 주일 분량의 데이터를 표시하고 '경보'와 '값'을 하나의 열에 결합하는이 테이블 (다른 테이블은 포함되지 않음)이 있습니다.
- 이 시나리오에서 사용되는 데이터베이스는 SQL Server입니다.
5 분에서 30 분 분량의 데이터 만 검색하면됩니다. 'Alarm'과 'Value'를 하나의 열 (뷰와 같은)에 결합하고 시간 범위를 동적으로 설정하거나 시간 범위를 지나서 기존 뷰를 쿼리하는 기본 테이블에 대한 쿼리를 작성하는 것이 더 효율적입니까? 나에게있어서 전자는 본질적으로 두 가지 질의가 필요하기 때문에 갈 길과 같이 보인다. 또한, 제 2 시나리오에서, 제 1 질의 (즉, 뷰)는 불필요한 수의 값을 메모리에로드 할 것이다.
테스트 해 보셨습니까? – Brandon
어떤 DBMS를 사용하고 있습니까? MySQL은 뷰를 사용하여 쿼리를 최적화 할 때 악명이 높습니다. 그러나 설명만으로 알 수 있습니다. –