inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part5: 데이터베이스

복합 인덱스

복합 스플릿에서 3개 이상의 칼럼을 인덱스 설정하는 경우

해결된 질문

281

가나파이

작성한 질문수 52

1

복합 스플릿에서 3개 이상의 칼럼을 인덱스 설정하는 경우,

예를 들어 A,B,C를 걸었을 경우에 A만 검색할 때 2개의 칼럼에만 인덱스를 설정했을 때처럼 따로 A만 인덱스를 생성할 필요는 없지만, B,C의 경우에 각각을 검색해야할 때 각각 또 설정해줘야하나요?

이전에 Clustered가 영한 사전 형식으로 정렬이 되어있다고 하셨습니다. 이번 강의에서 인덱스를 걸면 Non-Clustered였는데, 복합 인덱스 순서에 관해 주의사항을 언급하실 때 페이지의 데이터가 정렬이 되어있었는데, 이 부분은 Non-Clustered이거나 Clustered이거나 모두 동일하게 정렬이 되나요?

DBMS/RDBMS sql

답변 1

3

Rookiss

예를 들어 A,B,C를 걸었을 경우에 A만 검색할 때 2개의 칼럼에만 인덱스를 설정했을 때처럼 따로 A만 인덱스를 생성할 필요는 없지만, B,C의 경우에 각각을 검색해야할 때 각각 또 설정해줘야하나요?

맞습니다. B,C만 검색할 경우 A를 사용하지 않기에 전혀 효과를 볼 수 없습니다.

이는 Clustered/Non-Clustered 상관없이 모두에 해당하는 내용입니다.
Non-Clustered라면 실제 데이터가 그 순서로 정렬된 것은 아니고,
별도의 (탐색 트리) 테이블이 만들어지는 차이는 있겠죠.

복합 인덱스에 대해 이해하려면, 본인이 DB 개발자라면 어떻게 구현할지 생각해보면 됩니다.
가령 A, B가 모두 정수 타입이고 A->B 순서로 복합 Clustered 인덱스를 걸었다면
모든 데이터가 A 순서로 정렬되고, A가 동일한 경우에 한해 B 순서를 참고하겠죠.
ex. (A=100, B=4), (A=100, B=2), (A=200, B=3) 이렇게 3개의 데이터가 있다면,
A=100, B=2
A=100, B=4
A=200, B=3
순서로 데이터가 저장될 것입니다.
이 때 A를 건너 뛰고 B로만 조건을 주고 검색한다면,
애당초 B의 순서는 A가 동일한 경우에만 서로 정렬되어 있기에
전체 데이터 기준으로는 전혀 알 수가 없게 됩니다.

최신 하드웨어에서 SQL Express 설치에러 해결법

0

116

1

인벤토리 테이플 데이터가 엄청 많아지면

0

117

2

DISTINCT의 행 개수와 COUNT(DISTICNT )의 결과가 왜 차이나는지 궁금합니다.

0

121

1

conect시 신뢰할 수 없는 기관에서 인증서 발급 오류 뜨시는분들

0

341

1

PRIMARY KEY와 CLUSTERED INDEX의 차이

0

349

1

락과 트랜잭션 격리수준 차이는 뭔가여?

0

546

1

외래 키 질문이 있습니다.

0

399

1

게임 프로젝트와 연동하는 강의 내용은 포함되어 있지 않는 건가요?

0

578

1

윈도우 함수는 SELECT에서만 사용가능한가요?

0

461

1

데이터 베이스가 만들어지지 않을 때

9

815

3

sql 강의 관련 질문

0

694

1

강의내용 외의 질문이 있습니다

0

593

1

sinter

0

367

1

테이블 여러개랑 조인

0

381

1

서버 컴퓨터 스펙에 따라서 성능 차이가 심한가요?

0

803

1

Non-Clustered 에서 clustered index 추가시

0

447

1

UNIQUE INDEX와 PRIMARY KEY의 기능적차이

0

596

1

Part5: 데이터베이스_ SSMS 입문 테이블작성 오류에관하여

2

913

2

인덱스의 저장 방식에 대해서 질문이 있습니다!

1

552

1

MSSQL vs AWS

0

368

1

join 관련 질문입니다.

0

295

2

Inner Join 질문

0

311

1

데이터베이스 원리는 CAP이론을 비유하여 설명하신 건지 궁금합니다.

1

405

0

CLUSTERED INDEX

1

308

1