복합 스플릿에서 3개 이상의 칼럼을 인덱스 설정하는 경우
복합 스플릿에서 3개 이상의 칼럼을 인덱스 설정하는 경우,
예를 들어 A,B,C를 걸었을 경우에 A만 검색할 때 2개의 칼럼에만 인덱스를 설정했을 때처럼 따로 A만 인덱스를 생성할 필요는 없지만, B,C의 경우에 각각을 검색해야할 때 각각 또 설정해줘야하나요?
이전에 Clustered가 영한 사전 형식으로 정렬이 되어있다고 하셨습니다. 이번 강의에서 인덱스를 걸면 Non-Clustered였는데, 복합 인덱스 순서에 관해 주의사항을 언급하실 때 페이지의 데이터가 정렬이 되어있었는데, 이 부분은 Non-Clustered이거나 Clustered이거나 모두 동일하게 정렬이 되나요?
답변 1
3
예를 들어 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





