2014-11-24 3 views
2

두 개의 테이블 CITY (~ 50000 rows)와 COUNTRY (~ 220 rows)가 있습니다. VIEW를 통해 어느 도시에 어떤 도시가 있는지 알려주는 작업입니까? 구체화 된보기를 사용할 수 있다면 더 좋습니까? 나는 현재 쿼리 작성 :VIEW 또는 MATERIALIZED VIEW?

CREATE VIEW cc as 
SELECT ct.NAME AS "country", c.NAME AS "cty" 
FROM CITY c JOIN COUNTRY ct ON cnt.CODE=c.COUNTRY; 

그것은 나에게 내가 필요로하는 정보를 제공,하지만 나는 일반보기 bitween 차이를 깨닫고 하나를 구체화하지 않았다. 관련성이 있습니까?

+2

나는 그것이 "어느 쪽이 더 낫다"는 질문이 아닌, 어느 것이 적절하다고 생각 하는가? – Coffee

+0

보기는 순수한 매크로입니다. Where-as 구체화 된보기는 SQL의 캐시 된 데이터와 같습니다. 약간의 속도로 새로 고침. (사용자 정의) –

+0

감사합니다. @ 커피. 질문을 수정했습니다. – nlimits

답변

5

보기는보기의 내용을보고 싶을 때 실행되는 SQL 문을 의미합니다. 데이터베이스에 실제로 존재하는 테이블이 아닙니다. 당신이보기에서 읽을 때마다, 그것은 함축적으로, 최신입니다.

구체화 된보기는 데이터베이스의 실제 테이블입니다. 생성 할 때 만들어지며 업데이트하려는 경우 유지해야합니다.

다른 것들입니다. 귀하의 요구 사항에 따라 더 좋거나 나 빠지게됩니다.

관련 문제