SQL Server 실행 계획 을 강제로 사용 하여 복잡 한 검색 어 에서 의 성능 을 향상 시 킵 니 다.
문 구 는 저장 과정 에서 이 루어 지기 때문에 우 리 는 이 문 구 를 undocument 조회 힌트 를 직접 사용 하여 이 조회 의 병행 비용 한도 값 을 0 으로 강제 적 으로 낮 추고 이 문 구 를 강제 적 으로 병행 하 게 합 니 다.문장의 실행 시간 은 20 초 에서 5 초 로 낮 춥 니 다(주:Hash Join 힌트 를 사용 하 는 것 은 7 초 입 니 다).
다음은 이 힌트 를 사용 하 는 효 과 를 간단 한 예 로 보 여 줍 니 다.예 를 들 어 T-SQL 은 코드 목록 1 과 같 습 니 다.
SELECT *
FROM [AdventureWorks].[Sales].[SalesOrderDetail] a
INNER JOIN [Sales].SalesOrderHeader b
ON a.SalesOrderID=b.SalesOrderID
코드 목록 1.이 문 구 는 기본적으로 병행 하지 않 습 니 다.그림 1 참조:
그림 1.
코드 목록 2 와 같은 이 문구 에 힌트 를 드 리 겠 습 니 다.
SELECT *
FROM [AdventureWorks].[Sales].[SalesOrderDetail] a
INNER JOIN [Sales].SalesOrderHeader b
ON a.SalesOrderID=b.SalesOrderID
OPTION(querytraceon 8649)
코드 목록 2.이때 실행 계획 은 제시 에 따라 병행 합 니 다.그림 2 참조:
그림 2.
복잡 한 DSS 나 OLAP 조회 에 직면 했 을 때 유사 한 상황 이 발생 하면 이 Undocument 알림 을 사용 하여 SQL Server 에 가능 한 한 병행 을 요구 하여 실행 시간 을 낮 추 는 것 을 고려 할 수 있다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Redash를 사용할 때 몰랐던 SQL을 쓰는 법을 배웠습니다.최근 redash에서 sql을 쓸 기회가 많고, 이런 쓰는 방법이 있었는지와 sql에 대해 공부를 다시하고 있기 때문에 배운 것을 여기에 씁니다. Redash란? 월별로 데이터를 표시하고 싶습니다 주별로 데이터를 표...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.