Этот индекс
CREATE INDEX tbl_idx ON tbl (a, b);
Будет полезен для этих запросов
where a= and b =
where a= and b>
where a like 'someval%' and b=
, но не полезно для эти запросы:
where b=
where a> and b=
where a like '%someval%' and b=
where isnull(a,'')= and b=
Таким образом, в индексе многоколоночности, если SQL Server смог выполнить поиск в первом ключевом столбце, тогда индекс был бы полезен.
На ваш вопрос первый запрос выиграет от созданного вами индекса, тогда как второй запрос может иметь тенденцию делать сканирование по этому индексу.
Существует множество факторов, которые определяют, является ли поиск хорошим или плохим. В некоторых случаях SQL Server может не использовать индекс, доступный как стоимость поиска закладок, превышает лимит. .
Ссылки:
пожалуйста помечать СООТВЕТСТВУЮЩИЕ RDBMS – TheGameiswar
Первый запрос лучше подходит для вашего индекса. Для второго запроса вы должны использовать один индекс столбца. –
, если индекс включен (a, b), запрос только b не будет использовать его. – njzk2