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 6801 게시물 읽기
No. 6801
인덱스구성문제
작성자
인덱스맨
작성일
2014-04-13 03:22ⓒ
2014-04-13 03:26ⓜ
조회수
7,743

 아래와 같은 테이블이 있다고한다면..

 

tableA

col1 (pk)

col2

col3

col4

 

위와같이 만들어진 테이블이 있습니다.

쿼리는 다음과 같은 형태로 구현됩니다.

1)번쿼리

SELECT * FROM TableA

WHERE col1 = '1'

 

2)번쿼리

SELECT * FROM TableA

WHERE col1 = '2'

   AND col3 = '1000'

 

3)번 쿼리

SELECT * FROM TableA

WHERE col2 = 'A'

 

대충 위와 같이 3가지형태로 쿼리된다면 보통 인덱스는 어떻게 잡아야하죠?

 

결합인덱스로 pk를 포함시켜 col1 + col2 + col3 로 크게 잡아줘야되는건지 아니면 pk 는 제외시키고 col2 + col3 으로만 인덱스를 구성해야되는건지 잘 구분을 못하겠습니다.

 

실행계획으로 보면 큰 차이가 없어보여 질문드립니다.

 

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

col1 에 PK 특별히 옵션을 주지 않고 생성했다면 col1에 clustered index가 생성되셨을 거구요,

그렇다면 1, 2번 쿼리는 PK만 가지고도 해결이 되겠습니다.

따라서 3번 쿼리를 해결하기 위해

col2에만 nonclustered index를 생성하시면 되겠습니다.

우욱님이 2014-04-14 07:12에 작성한 댓글입니다. Edit
[Top]
No.
제목
작성자
작성일
조회
6805SQL profiler 돌려보니 (expressprofiler.exe) [1]
cos
2014-04-23
7658
6803평판이라는 개념을 넣고싶습니다.
알고리즘
2014-04-18
8029
6802Select 쿼리 도와주세요 [1]
초보자
2014-04-16
7998
6801인덱스구성문제 [1]
인덱스맨
2014-04-13
7743
6800update 와 select를 동시에 [2]
궁금
2014-04-09
10122
6799인서트 구문 에러 [2]
제이크
2014-04-02
9427
6798Key값 생성에 관한 질문입니다. [2]
초보입니다
2014-04-01
7983
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.022초, 이곳 서비스는
	PostgreSQL v16.4로 자료를 관리합니다