Показать сообщение отдельно
Старый 21.12.2011, 02:13   #18  
Vadik is offline
Vadik
Модератор
Аватар для Vadik
Лучший по профессии 2017
Лучший по профессии 2015
 
3,631 / 1850 (69) ++++++++
Регистрация: 18.11.2002
Адрес: гражданин Москвы
Цитата:
Сообщение от AndyD Посмотреть сообщение
Если Cancelled входит в кластерный индекс, да еще на перевом месте (или на втором, после DataAreaId?), то имеет ли смысл добавлять его в другие индексы ?
Вопрос хороший, правильный, и я бы даже сказал - философский. Теоретически - нет. На практике - при прочих равных условиях оптимизатор стабильно выбирает для index seek индекс с явно входящим в него Cancelled. Его в принципе можно понять - все же приятнее когда значения (пусть даже их всего два) ключевого поля (Cancelled) явно отсортированы а не лежат где-то "рядом" наподобие included. Так что я добавляю..
Цитата:
на последнее место, правильно ?
Предпочитаю строить некластерные индексы "правильно" (в соответствии с запросами) без оглядки на наличие и структуру кластерного - меньше шансов "нарваться" при его смене. Так как Cancelled используется практически всегда, добавляю его обычно одним из первых полей
__________________
-ТСЯ или -ТЬСЯ ?
За это сообщение автора поблагодарили: AndyD (5).