2009-03-10 5 views
3

저는 SQL Server에서 서로 다른 조인 방법, 즉 해시 조인, 병합 조인 및 인덱스 조인을 비교해야하는 작업을하고 있습니다.MS SQL Server에서 강제로 인덱스 참가를 수행하려면 어떻게합니까?

SQL Server에서 인덱스 조인을 수행하는 데 어려움이 있습니다. 누구든지 인덱스 조인 (조인 힌트 또는 유사한 사용)을 사용하도록 강제 할 수있는 방법을 보여 주거나 단순히 SQL 서버가 인덱스 조인 방법을 사용하는 조인과 함께 간단한 쿼리를 제공 할 수 있습니까?

+0

방법이 질문은 5 분 구글에 표시 않았다 (그는 SQL Server의 관련 엔진을 설계 팀 중 하나)? 와우. – Sam

답변

0

직선 선택에 대한 색인 힌트를 가질 수 있지만 조인에 동일한 구문을 사용할 수 있는지 확실하지 않습니다.

SELECT blah FROM table WITH (INDEX (index_name)) 

당신은 비 ANSI이 사용할 수

SELECT blah FROM TABLE1, TABLE2 
WHERE TABLE2.ForiegnKeyID = TABLE1.ID 
WITH (INDEX (index_name)) 

은 인덱스 힌트와 함께 가입 가입 (?) :

SELECT 
    ticket.ticket_id 
FROM 
    purchased_tickets 
JOIN ticket WITH (INDEX (ticket_ix3)) 
    ON ticket.original_ticket_id = purchased_tickets.ticket_id 
     AND ticket.paid_for = 1 
     AND ticket.punched = 0 
WHERE purchased_tickets.seller_id = @current_user 
OPTION (KEEPFIXED PLAN);