Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 индексы  [new]
Незнающий!
Guest
Приветствую всех форумчан.

Вопрос у меня (неопытного пользователя) к профессионалам.
Есть некая таблица (условно назову "Таблица1") и есть там составной первичный ключ (ну скажем 3 столбца: Поле1, Поле2, Поле3). В различных запросах используются различные фильтры по этим полям. Как я понимаю, первичный ключ - это и есть уникальный индекс (кластеризованный).
Вопрос у меня такой:
Достаточно ли объявить всех этих столбцов первичном ключом или стоит создать ещё дополнительные не уникальные индексы по каждому столбцу отдельно, чтобы повысить быстродействие запросов?60
14 фев 12, 10:43    [12086822]     Ответить | Цитировать Сообщить модератору
 Re: индексы  [new]
iljy
Member

Откуда:
Сообщений: 8711
Незнающий!,

в индексе существенем порядок полей. Если индекс (Поле1, Поле2, Поле3), то на условии вида Поле3>5 он не поможет, обязательно должно быть еще и условие на равенство для полей 1 и 2.
14 фев 12, 10:46    [12086842]     Ответить | Цитировать Сообщить модератору
 Re: индексы  [new]
Дедушка
Member

Откуда: Город трёх революций
Сообщений: 5123
если в ваших "различные фильтры по этим полям" не будет поля "Поле1" то скорее всего это будет сканирование кластерного индекса вместо поиска по нему (так же у вас нет статистик по полям 2 и 3) поэтому создание некластерных индексов по этим полям может "повысить быстродействие".
14 фев 12, 10:57    [12086929]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить