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
운영게시판
최근게시물
MS-SQL Q&A 1825 게시물 읽기
No. 1825
인덱스 관련 질문
작성자
배문정(SQL초보)
작성일
2005-03-16 19:40
조회수
3,379

왕초보의 질문입니다.

 

인덱스를 구성하려고 하는데...

1) primary key 를 넌클러스트 유니크 인덱스로 하고,

2) datetime 필드를 중복 가능 클러스트 인덱스로 하려고 합니다. 이 칼럼 값은 업데이트도 가능해야 합니다.

이게 가능한가요?

 

주키가 아닌, datetime 필드를 억지로 클러스트 인덱스로 하려고 하는 이유는

날자 순으로 범위 select를 아주 빈번히 해야하기 때문입니다.

datetime 칼럼이 빈번하게 udate 되고, insert 또한 자주 발생하지만

그럼에도 불구하고 날짜 범위 조회가 극단적으로 많아 이렇게 하려는 것입니다.

가능한 건가요? 다른 바람직한 방식이 있나요?

 

도와주세요.

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

정확한 답변이 될지는 모르지만, 일단 제가 아는 한도 내에서 답변드리겠습니다.. ^^;;

 

1. 가능하냐는 질문에 대한 답변 가능합니다..

 

2.다른 바람직한 방법이 있느냐는 질문에 대한 답변은 글쎄요..

  1) datetime를 clustered index로 하는 경우..

    첫 번째로 생각해 볼 수 있는 문제는 update, insert가 빈번하게 일어남으로 인해서 page가 지저분해지겠죠.. (조각화현상) 그럼에도 불구하고 극단적인 범위조회를 위해 사용하신다면, 매일 밤 혹은 주기적으로 SQL Server가 한가한 시간에 Job Schedule을 걸어서 테이블과 인덱스를 정리해 주시는 게 좋을 듯 합니다..

 

 2) update, insert가 빈번한 column은 clustered index로 잡지 않는 것이 기본입니다..

   이 부분은 님께서도 충분히 고려한 상황에서 위와 같은 방안을 고려하시는 것으로 보여지기 때문에 특별히 언급을 드리기 힘드네요.. 하지만, 데이터 구성이 어떤지는 모르겠지만 저라면 이 방법을 기본으로 해서 인덱스를 구성해 보고 싶네요..

 

어쨌던 테스트 서버에서 양쪽을 테스트 할 수 있는 환경이 된다면 가장 좋겠지만, 안 되더라도 가능한 한 스트레스 테스트를 통해서 확인을 해 보세요..

 

그럼..

길가는 나그네..님이 2005-03-16 19:54에 작성한 댓글입니다. Edit

나그내님 감사합니다. 답변이 이렇게 빨리 올라올줄이야.. 감동!

클러스트 인덱스가 있는 테이블의 넌클러스트 인덱스는 클러스트 인덱스 키값을 참조한다는데, 그 값이 바뀌어도 문제 없는지 의문이 들었거든요. 물어보고싶은 것이 많은데.. 종종 질문 올리겠습니다. 감사해요.

배문정(SQL초보)님이 2005-03-16 20:02에 작성한 댓글입니다.
[Top]
No.
제목
작성자
작성일
조회
1828고수님들의 도움 부탁 드립니다. [1]
김춘오
2005-03-18
2535
1827날짜 선물 세트 -_- 그냥 심심해서
석이
2005-03-17
4504
1826특정DB의 모든 테이블에 있는 값 한번에 추출하기.. ㅠ.ㅠ [1]
파트라슈
2005-03-17
2951
1825인덱스 관련 질문 [2]
배문정
2005-03-16
3379
1824mssql date형 데이터 형변환법은?요 [1]
텅날개
2005-03-16
4560
1823문자열을 datetime으로 변환하는 중 구문 오류가 발생 [1]
sqler
2005-03-16
5688
1822mysql에서 processlist와 같은....... [1]
무사리
2005-03-15
2977
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.018초, 이곳 서비스는
	PostgreSQL v16.2로 자료를 관리합니다