[mssql] 특정 필드 인덱스 설정에 관해 여쭤봅니다. 0 2 1,141

by 보청기 [SQLServer] 인덱스 index [2021.12.23 16:11:45]


안녕하세요.

인덱스 공부를 하다 보니  범위 검색에 사용되는 필드는 클러스터 인덱스를 설정하고 

범위검색을 하지 않는 필드들은 넌클러스터 인덱스로 설정하는게 좋다고 하던데...

예를 들어 보통 회원테이블에  회원아이디, 회원명, 가입일 등 이런 기본적인 필드가 있는데

회원아이디, 회원명은 하나로 묶어 넌클러스트를 설정하고

등록일은 보통 기간으로 검색을 하니 클러스터로 설정해야 될거 같은데...

이렇게 설정하는게 맞는 건지요?

 

by 마농 [2021.12.23 16:37:23]

MSSQL 에서는
보통 PK 가 기본으로 클러스터가 되는데
PK 를 넌클러스터로 하고 다른 항목을 클러스터로 할 수도 있습니다.
가입일 기준 범위 검색이 자주 사용된다면? 이와 같은 방식을 고려해 볼 수 있겠네요.
그렇지 않다면? 그냥 기본을 따르는게 맞을 듯 하구요.
https://mozi.tistory.com/319

오라클 의 경우는 좀 다릅니다.
오라클 에서는 클러스터가 기본이 아닙니다.
클러스터는 특별이 필요한 경우에만 선택적으로 사용됩니다.


by 보청기 [2021.12.23 19:58:45]

답변 감사합니다.
많은 공부가 되었습니다.

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