Порядок, определяющий столбцы в вашем индексе. Если ваш идентификатор столбца ID1 всегда будет иметь только одно значение, тогда нет смысла помещать его в индекс, если вы не используете его в индексе покрытия в некластерном индексе (это означает, что индекс не является физическим порядком самой таблицы). В общем, ваш первый столбец, определенный в вашем Индексе, должен быть столбцом с самыми важными значениями, которые вам нужно искать. Визуализируйте его таким образом, если у вас есть таблица из 1 миллиона строк, а в первом столбце в вашем индексе только 1 (или небольшое число) различных значений, то этот индекс поможет вам найти строки, которые вы хотите, из 1 миллиона ? Или было бы лучше иметь ID2 в первую очередь, что было бы более эффективным для поиска и которое будет более часто использоваться, это то, о чем вы должны спросить себя. Ниже также более подробная информация по вашему вопросу.
SQL Server Clustered Index - Order of Index Question
Если вы используете некластерированный индекс, это может показаться не сделать иначе, если ваш первый колонке в индексе есть все то же значение. Однако это имеет значение, причина в том, что некластеризованный индекс хранится на нескольких страницах. Чем больше записей вы можете сохранить на странице, которая поможет вам быстрее искать быстрее. Если вы включаете столбец на странице, который не добавляет значения для поиска, то для этого требуется, чтобы один и тот же индекс охватывал больше страниц. Значит больше страниц для перелистания и более длинных поисков. Это также означает, что меньше места для добавления новых записей на существующую страницу во время вложений при обновлении индекса, что приводит к увеличению количества разделов страниц. Таким образом, есть побочные эффекты для принятия решения о добавлении Столбец только 1 значения в Индекс. Если вы используете колонку, чтобы «обрезать» найденные значения в общих элементах выбора, вы также можете использовать «Включенные столбцы» в своем Индексе, что имеет дополнительное преимущество, не изменяя ваш индекс и все же действует как закрытый индекс. Если это было изначально предназначено для добавления столбца, который имеет только 1 значение.
Ваш вопрос непонятен. В вашем запросе есть 'id', ваш индекс и' where' имеют 'id1' и' id2'. Можете ли вы попытаться выразить вопрос немного лучше? Примеры данных и желаемые результаты полезны. –
Извините, отредактировано. Теперь это правильно. – user2920607