Предположим, что PK включен: Field1, Field2 (в этом порядке)
- Запросы, которые фильтруются в Field1, могут извлечь выгоду из этого индекса PK (поиск по индексу).
- Запросы, которые фильтруются в Field1 и Field2, могут извлечь выгоду из этого индекса PK (поиск по индексу).
- Запросы, которые фильтруются в Field2, не могут использовать этот индекс PK (сканирование индекса).
Так что в последнем случае вы можете рассмотреть отдельный индекс для Field2. Обратите внимание, что это немного больше, если, например, вы возвращаете другие поля в таблице, кроме полей PK. В этом случае, если ваш PK CLUSTERED (по умолчанию PK), то данные уже находятся в индексе. Но в NONCLUSTERED индексе (например, если вы создали его в Field2) он должен был бы затем отключиться и выполнить поиск, чтобы получить другие поля, возвращаемые для запроса. Итак, вы можете войти в сферу принятия решения, включать ли столбцы в индекс NONCLUSTERED или нет.
Рекомендую немного почитать, стоит поторопиться.