database.sarang.net
UserID
Passwd
Database
DBMS
MySQL
PostgreSQL
Firebird
Oracle
Informix
Sybase
MS-SQL
ㆍDB2
Cache
CUBRID
LDAP
ALTIBASE
Tibero
DB 문서들
스터디
Community
공지사항
자유게시판
구인|구직
DSN 갤러리
도움주신분들
Admin
운영게시판
최근게시물
DB2 Q&A 1670 게시물 읽기
No. 1670
view에 대해 질문드립니다.
작성자
이도희
작성일
2008-07-03 11:34
조회수
10,354

A라는 테이블에 대한 a_view를 만들었는데 a_view의 한 행만 select를 했는데 A테이블의 모든 row를 select 해서 결과 행을 모두 조회한 다음, 한 행을 return하더라구요.


그래서 A라는 테이블에 인덱스를 생성해주고 그 인덱스가 걸린 컬럼을 a_view에서 select 했더니 처음부터 그 행을 찾을 때까지 조회하고 결과를 return합니다.


일반적인 뷰에서 select가 어떤 방식으로 이루어 지는지 알 수 있을까요?


이 부분에 대해 자세히 나와 있는 레퍼런스라도 추천해주시면 감사드리겠습니다.

이 글에 대한 댓글이 총 3건 있습니다.


view를 사용하지 않고 sql을 직접 실행해보세요.

view를 사용하기 때문에 full scan을 하지는 않습니다. 

조는 냥이님이 2008-07-03 11:40에 작성한 댓글입니다. Edit

그럼 뷰에서 한 행의 특정 컬럼만  select한다고 해도 테이블을 full scan하지는 않는다는 말씀이신가요?

이도희님이 2008-07-03 11:47에 작성한 댓글입니다. Edit

view와 full scan은 무관합니다. 

full scan을 타는 이유를 찾아보세요. 

1. 통계 갱신을 통해 plan 오류를 방지 
  - db2 runstats on tabschema.tabname with distribution and indexes all 

2. 조건 값이 테이블 전체에서 몇퍼나 차지하는지 보세요
  - 환경마다 다르지만 15%이상 정도 되면 의심을 해보세요. 
     다른 값으로 들어올때는 index를 사용하는지 비교를 해보세요. 

3. 생성된 인데스 점검

조는 냥이님이 2008-07-03 12:53에 작성한 댓글입니다. Edit
[Top]
No.
제목
작성자
작성일
조회
1673안녕하세요 insert에 대해서 물어볼려고 합니다. [4]
방효현
2008-07-07
11983
1672create function 문의 external action [1]
이도희
2008-07-04
10243
1671다시 view에 대해 질문드립니다. [2]
이도희
2008-07-03
10899
1670view에 대해 질문드립니다. [3]
이도희
2008-07-03
10354
1669instead of 트리거 생성시 에러가 납니다.
이도희
2008-07-02
10325
1668결과값이 없을때 특정 select 실행법 [2]
윤동민
2008-07-02
10842
1667통신 오류관련 질문입니다. [1]
black
2008-07-01
10602
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2023 DSN, All rights reserved.
작업시간: 0.046초, 이곳 서비스는
	PostgreSQL v16.1로 자료를 관리합니다