대용량 테이블의 Index 관련하여 문의 드립니다. 0 3 1,330

by 허접탱이 [SQLServer] 인덱스 [2019.02.27 16:28:55]


안녕하세요.

지금 Log 파일을 읽어 Datebase화 시키는 작업을 진행중에 있는데요.

테이블에 들어가는 데이터 량이 어마어마 합니다. 

여튼 해당 테이블은 한달에 한번씩 신규로 구성이 되며, 하루에 딱 한번만 Insert 작업이 이뤄지고 있습니다. 이런 상황일때 인덱스를 날짜 필드에만 구성을 하려 하는데 이런 상황이라면 클러스트 인덱스가 맞는지 논클러스트 인덱스가 맞는지 헷갈립니다.ㅠㅠ

그리고 일년치 테이블을 묶어서 View를 생성을 했는데.. View에도 Index를 생성하는 방법이 있나요?

MSSql 버전은 2014 스탠다드 버전입니다.

 

by 마농 [2019.02.28 08:43:14]

파티션 테이블을 이용하세요.


by 허접탱이 [2019.02.28 09:26:28]

저도 파티션 테이블을 이용하려 했으나, MSSQL 버전이 2014 스탠다드 버전이다 보니...

파티션 테이블이 불가하여 물리적으로 나누게 되었습니다.ㅠㅠ


by 마농 [2019.02.28 09:34:28]

각각의 테이블에 인덱스가 있고, UNION ALL 로 쿼리를 묶는다면?
뷰에 조건을 주면 해당 조건이 각각의 UNION ALL 쿼리에 전달되는 걸로 압니다.(오라클)
MSSQL 도 되는지는 직접 수행해 보시고 실행계획 확인해 보세요.

댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입