2009-03-10 13 views
3

私は、SQL Serverのさまざまな結合方法、つまりハッシュ結合、マージ結合、およびインデックス結合を比較することになっている課題に取り組んでいます。MS SQL Serverで強制的にインデックス結合を実行するにはどうすればよいですか?

SQL Serverでインデックス結合を実行するのが難しいです。誰も私にインデックス結合(結合ヒントなどを使用)を使用する方法を教えてもらえますか、SQLサーバーがインデックス結合メソッドを使用する結合を単純なクエリとして提供するだけですか?

+0

がどのようにこの質問は5分でGoogleで現れなかった(彼は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); 
関連する問題