私はSQL Server 2005で2つの外部キーfk_FacilityIDとfk_OrderIDを持つテーブルtbl_FacilityOrdersを持っているとします。それには数百の施設からの注文が含まれている可能性があります。私は単一のレコードを照会する必要があり、ファシリティIDとオーダーIDの両方が利用可能になります。 fk_FacilityIDとfk_OrderIDのインデックスを定義し、両方をクエリに渡すか、単にfk_OrderIDを使用する方が良いでしょうか。注文IDよりも施設IDが少なくなるため、他の施設の記録を最初に除外することが有益である可能性があります。インデックスに役立つ2番目のID列を追加していますか?
2番目の質問は、上記の2つの列のクエリを使用している場合、WHERE句の列を問題に書き込むか、またはインデックスの順番で評価するのに十分なエンジンですか?
E.G.です:
に相当WHERE fk_facilityID = @FacilityID AND fk_OrderID = @OrderID
:
WHERE fk_OrderID = @OrderID AND fk_FacilityID = @FacilityID
?
+1インデックスの順序が重要であることを言及しています... –
ありがとう、よく知っておきたい!私はしばらくこれについて疑問に思っていた。 – xr280xr