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 1543 게시물 읽기
No. 1543
[질문] case1,2,3 중 어떤 Index가 더 효율적인가요? [완료됨]
작성자
김찬수(sqlkim)
작성일
2004-09-11 11:09ⓒ
2004-09-22 11:04ⓜ
조회수
3,291

항목 A, B, C,D가 표와 같은 형태로 정렬되어 보여지는 테이블을 설계중인데요

PK는 따로 존재하고 아래 표는 가장 많은(자주) 질의를 하는 항목과 값의 형태입니다.

 

A = varchar(1)

B = varchar(1)

C = bigint(8)

D = smallint(4)

1

0

0

1

100

99

98

:

1

2

3

:



이때 검색 방법은

 

... order by

A DESC

B ASC

C DESC

D ASC

 

위 와 같습니다. 이때 인텍스를

 

case1 CREATE NONCLUSTERED INDEX idx1 ON tb1 (A, B, C, D)
case2 CREATE CLUSTERED INDEX idx1 ON tb1 (A, B, C, D) 단, PK는 NONCLUSTERED로 처리(자주 질의 않함으로)
case3

CREATE INDEX idx1 ON tb1 (A)

CREATE INDEX idx2 ON tb1 (B)

CREATE INDEX idx3 ON tb1 (C)

CREATE INDEX idx4 ON tb1 (D)



[질문1] case1,2,3과 같이 형성한다고 했을 때 속도라는 측면에서 어떤 case가 가장 좋은 방법인지요? 또 각 case들의 특징은 무엇인지 알고 싶습니다. 더나가 위 case 이외에 더 좋은 방법이 있으면 가르쳐 주세요.

 

[질문2]

위질의에 하나더 추가 하여

where e = "사과" order by

A DESC

B ASC

C DESC

D ASC

라고 검색하였을 때 (단, E의 값은 "사과", "바나나", "단감",... 등의 분류임)

E는 어떻 형태로 인텍스를 만들어야 하나요?

 

[질문3]

인텍스 생성시 CLUSTERED 를 사용하면 속도가 많이 느려지나요?

게시판 등록 같은 테이터 량이 많은 테이블에서 CLUSTERED 사용하는건 부적격한가요?

 

 

또 한수 배우려하니 많은 가르침 부탁드립니다.

 

감사합니다.

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

이렇게 하면 되나요?

 

CREATE CLUSTERED INDEX idx1 ON tb1 (A DESC, B ASC, C DESC, D ASC)

 

CREATE INDEX idx2 ON tb1 (E)

 

이렇게 하면 효율적인가요?

CLUSTERED는 가장 많은 질의에 적용하는 것이 좋겠죠?

김찬수(sqlkim)님이 2004-09-11 12:08에 작성한 댓글입니다.
이 댓글은 2004-09-11 12:13에 마지막으로 수정되었습니다.

MS SQL 에서 클러스터 인덱스는 테이블당 하나만 설정하실 수 있습니다.

검색시 가장 많이 사용하는 필드에 클러스터 인덱스를 설정하고 나머지는 넌클러스터 인덱스를 설정하시면 됩니다.

 

물론 클러스터 인덱스가 넌클러스터 인덱스보다 빠릅니다.

왜냐면 클러스터 인덱스는 인덱스 생성시 테이블의 구조를 인덱스 순서와 맞게 재구성합니다. 그래서 찾기가 더 빠르지요..

 

인덱스는 많을수록 DB의 크기는 커지고 검색속도는 빨라집니다.  그러나 수정,삽입 에서는 데이타 갱신시 인덱스도 함께 갱신해야 하므로 느려집니다.

 

쿼리만백라인님이 2004-09-12 13:54에 작성한 댓글입니다. Edit
[Top]
No.
제목
작성자
작성일
조회
1546초보자입니다!!
김종갑
2004-09-12
2161
1545가격/시세 쿼리문에 대한 질문입니다....!!도움부탁"" [1]
장재호
2004-09-11
3224
1544ㄹㄴㄹㄴㅇ
ㄹㄴㅇㄹㅇㄹㄴ
2004-09-11
1788
1543[질문] case1,2,3 중 어떤 Index가 더 효율적인가요? [완료됨] [2]
김찬수
2004-09-11
3291
1542계속된 연체일수 구하는 방법에 대해 좀 알려주세요 [1]
이희국
2004-09-11
2597
1541[질문] 한문 깨짐현상... [3]
이리
2004-09-10
2115
1540백만건이상의 데이터처리중 궁금한점
질문자
2004-09-10
3191
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.024초, 이곳 서비스는
	PostgreSQL v16.2로 자료를 관리합니다