Допустим, у меня есть таблица tbl_FacilityOrders с двумя внешними ключами fk_FacilityID и fk_OrderID в SQL Server 2005. Она может содержать заказы из нескольких сотен объектов.Мне нужно запросить отдельные записи, и мне будут доступны и идентификатор объекта, и идентификатор заказа.Лучше определить индекс по fk_FacilityID, а затем по fk_OrderID и передать оба запроса или просто использовать fk_OrderID.Поскольку идентификаторов объектов будет меньше, чем идентификаторов заказов, я мог бы убедиться, что отсеивание записей других пунктов сначала может быть полезным.
Второй вопрос: если бы я использовал вышеупомянутый запрос с двумя столбцами, соответствует ли порядок, в котором я пишу столбцы моего предложения WHERE, или достаточно ли умен движок, чтобы оценивать их в порядке индекса?
EG:
WHERE fk_facilityID = @FacilityID AND fk_OrderID = @OrderID
эквивалентно:
WHERE fk_OrderID = @OrderID AND fk_FacilityID = @FacilityID
?