SQL Server 의 초점 강제 색인 조회 조건 과 Columnstore Index 를 설명 합 니 다.

머리말
이 절 에 우 리 는 색인 지식 을 삽입 하고 데이터 유형 중의 날짜 유형,짧 은 내용,깊이 있 는 이 해 를 말한다.
강제 색인 조회 조건
앞에서 도 강제 색인 조회 지식 을 말씀 드 렸 는데,이 절 에 서 는 다시 완전 하 게 말씀 드 리 겠 습 니 다.
(1)SQL Server 기본 색인 사용

USE TSQL2012
GO
SELECT * 
FROM Sales.Orders

위 에 서 는 더 이상 말 할 필요 가 없습니다.기본 키 로 만 든 집합 색인 을 사용 하여 조회 실행 계획 을 실행 합 니 다.
(2)SQL Server 에서 강제 색인 사용

USE TSQL2012
GO
SELECT custid 
FROM Sales.Orders WITH(INDEX(idx_nc_custid))

(3)SQL Server 내 연 검색 조건 사용

USE TSQL2012
GO
SELECT custid 
FROM Sales.Orders WITH (INDEX(idx_nc_custid))
  INNER JOIN Sales.OrderDetails WITH (INDEX(PK_OrderDetails)) 
  ON Sales.OrderDetails.orderid = Sales.Orders.orderid
GO
(4)SQL Server 사용 OPTION
상기 세 번 째 로 내 연 조 회 를 사용 하 는 것 이 좋 습 니 다.또한 우 리 는 표 연결 의 끝 에 OPTION 을 사용 하여 색인 을 강제 적 으로 사용 할 수 있 습 니 다.표 연결 과 관련 되 기 때문에 우 리 는 다른 함수 Hints 를 사용 할 것 입 니 다.이 힌트 는 Join Hints,Query Hints,Table Hints 에 사 용 됩 니 다.만약 에 저희 가 Hints 를 사용 하면 검색 계획 을 덮어 쓸 것 입 니 다.SQL Server 를 기본적으로 검색 에 사용 할 때 가장 좋 은 검색 어 를 사용 하기 때 문 입 니 다.이때 Hints 를 통 해 가장 좋 은 검색 어 를 덮어 쓸 수 있 기 때문에 일반적으로 추천 하지 않 습 니 다.이렇게 하면 기본 검색 계획 보다 더 좋 은 경험 을 가 진 SQL Server 사용자 가 좋 은 해결 방안 이 될 수 있 습 니 다.그러나 OPTION 에 대해 저 희 는 사용 할 수 있 습 니 다.OPTION 은 SQL Server 2008+에 있 습 니 다.상기 세 번 째 강제 사용 내 연 조회 알림 은 OPTION 과 Hints 를 결합 하여 완성 할 수 있 습 니 다.

USE TSQL2012
GO
SELECT custid 
FROM Sales.Orders AS SO
  INNER JOIN Sales.OrderDetails AS SOD
  ON SOD.orderid = SO.orderid
  OPTION (TABLE HINT(SO,INDEX(idx_nc_custid)),TABLE HINT(SOD, INDEX(PK_OrderDetails)))
GO

위 에 서 는 검색 계획 을 기본 으로 사용 하 는 것 보다 더 좋다 는 것 을 명확 하 게 밝 히 지 않 는 한 사용 하 는 것 을 추천 하지 않 습 니 다.
Columnstore Index
열 저장 색인 은 SQL Server 2012+에 나타 납 니 다.우 리 는 이 내용 을 간단하게 말 합 니 다.빅 데이터 에 있어 열 저장 색인 을 합 리 적 으로 사용 하면 조회 성능 을 향상 시 킬 수 있 지만 대량의 자 료 를 찾 아 보면 SQL Server 2012 에서 열 저장 색인 을 사용 하 는 데 많은 제한 이 있 고 많은 문제 가 발생 할 수 있 습 니 다.SQL Server 2014+에 서 는 이러한 문제 가 크게 개선 되 었 기 때문에 SQL Server 2012 에 열 저장 색인 을 사용 하 는 것 을 권장 하지 않 습 니 다.SQL Server 2014+에 사용 할 수 있 습 니 다.
SQL Server 2012 에서 색인 을 만 들 면 Columnstore Index 와 NONCLUSTERED COLUMNSTORE INDEX 가 있 음 을 알려 줍 니 다.데이터베이스 에 저 장 된 데 이 터 는 두 가지 로 나 뉘 는데 하 나 는 줄 저장 이 고 다른 하 나 는 열 저장 이다.줄 저장 은 페이지 에 모든 줄 데 이 터 를 저장 하고 열 저장 은 같은 페이지 에 모든 데 이 터 를 저장 하기 때문에 열 저장 소 를 이용 하여 전체 줄 의 모든 데 이 터 를 찾 는 것 이 아니 라 열 저장 소 를 이용 하여 데 이 터 를 찾 는 것 이 더욱 빨 라 진다.물론 이것 은 검색 속도 가 증가 함 을 의미 하기 때문에 하드웨어 구동 설정 은 더욱 높 은 요 구 를 필요 로 하고 열 저장 소 에 있 는 색인 은 압축 되 기 때문에 열 저장 소 를 사용 하려 면 더 큰 메모리 가 필요 하 다.열 저장 색인 은 각 열 에 저 장 된 데 이 터 를 각 그룹의 단독 디스크 페이지 에 저장 합 니 다.각 페이지 에 여러 줄 을 저장 하 는 것 이 아니 라 줄 저장 데 이 터 를 저장 하 는 것 과 차이 점 은 다음 과 같 습 니 다.

여기 서 예 에 관 해 서 는 더 이상 제시 하지 않 고 기본 적 인 이 해 를 하 는 셈 이다.
총결산
이 절 에서 우 리 는 색인 조건 을 강제로 사용 하여 조 회 를 하 는 것 을 강 의 했 습 니 다.기본 색인 을 사용 하여 조회 계획 을 세 울 때 가장 좋 은 방법 이 아니 라 고 생각 할 때 강제 색인 을 사용 하여 비교 하여 더 좋 은 해결 방안 을 찾 아 볼 수 있 습 니 다.짧 은 내용,깊이 이해 하고 다음 절 에 다시 만 납 시다.
이상 은 본 고의 모든 내용 입 니 다.본 고의 내용 이 여러분 의 학습 이나 업무 에 어느 정도 도움 이 되 기 를 바 랍 니 다.궁금 한 점 이 있 으 면 댓 글 을 남 겨 서 교류 할 수 있 고 저 희 를 많이 응원 해 주 셨 으 면 좋 겠 습 니 다!

좋은 웹페이지 즐겨찾기