Люди поясните как он работает? пример поле name, email Оба уникальные. Есть ли смысл делать индекс на два поля сразу (не по отдельности) и в есть ли выигрышь в данном случае? Или оно только для случаев - where and
Касается не только MSSQL. Обычно, оптимизатор сам решает (исходя из множества своих внутренних предпочтений, например, насколько актуальна статистика) какой\какие индексы использовать. И потом, есть такая штука как покрывающие индексы - в каком порядке указаны поля составного индекса и как эти поля используются в запросах. Сделай и такой и такой, и поиграйся: 1) поиском с условием в WHERE 2) join`ы с другими табличками Посмотри планы выполнения, статистику по операциям чтения, как они будут использоваться (естественно БЕЗ хинтов в запросах). Подозреваю, что смысл есть только при выполнении 3 условий: 1) мало дублирующихся\NULL значений - здесь выполняется 2) большой объем данных 3) условие WHERE составлено таким образом, что поля индекса используются в том же порядке, как они указаны при создании индекса. Кстати, если данных ну совсем немного, иногда FULL SCAN по табличке предпочтительнее (т.е. вообще отказ от индексов).