뷰(view)에 인덱스(index)를 만들수는 없나요? 0 1 18,731

by 이앤비 [Oracle 기초] [2009.09.02 18:55:50]


안녕하십니까? 또 간만에 질문을 드립니다.

ms sql에는 인덱스된 뷰라는게 있는데 오라클에는 뷰에 인덱스를 만들수 없는거 같던데...

table1 과 table2가 있는데 2개의 테이블을 조인하고 컬럼을 합해서 새로운 컬럼을 하나만들었습니다.

새롭게 생성된 컬럼은 table1.aaa + table2.bbb 입니다.(aaa 는 table1의 pk 이지만 bbb 는 table2 의 pk 나 fk 가 아닙니다.

새롭게 생성된 컬럼을 주로 where 조건으로 쿼리하는데 속도가 그나마 나오긴 하지만. 쪼금 느립니다.

뷰에 인덱스를 걸수 있는 방법이 없을까요? Materialied View 는 현재 프로젝트사의 권한때문에 생성할수 없으며

전체 데이터건수는 약 20만건정도 됩니다.

고수님들의 많은 조언 부탁드립니다.

감사합니다.

by 마농 [2009.09.03 09:01:58]
뷰에 인덱스를 만들수는 없을걸요? 뷰는 단지 쿼리가 저장된것일 뿐입니다.
각 테이블 항목에 인덱스를 설정하시고, 뷰쿼리는 최대한 가공 없이 단순하게 만드시면.
뷰를 포함한 쿼리 실행시 적당한 인덱스를 타게 됩니다.
인덱스 컬럼을 가공하시거나, 뷰에서 집함쿼리등을 사용하시면 인덱스를 사용하지 못합니다.
댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입