Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Индексы с included columns  [new]
locky
Member

Откуда: Харьков, Украина
Сообщений: 62034
Господа!
Возникла необходимость провести опрос общественности на вот такую тему:

Назовите (без обращения к документации, форуму, етк) преимущества использования индексов с included columns по сравнению с использованием обычных покрывающих индексов. Если преимуществ несколько - расположите их в порядке убывания важности.

Дабы не влиять на мнение других (иже оно будет озвучено) просьба ответ давать в спойлере.

-------------------------
There’s no silver bullet!
27 май 13, 22:25    [14356412]     Ответить | Цитировать Сообщить модератору
 Re: Индексы с included columns  [new]
Mind
Member

Откуда: Лучший город на Земле
Сообщений: 2322
locky,
+
1. Меньше размер
2. Меньше фрагментация
3. Менее затратно обновлять данные
4. Можно создать второй кластерный индекс

А в чем смысл то сего опроса?
28 май 13, 00:56    [14356798]     Ответить | Цитировать Сообщить модератору
 Re: Индексы с included columns  [new]
locky
Member

Откуда: Харьков, Украина
Сообщений: 62034
Mind,

интересно узнать что люди знают о таких индексах в реальности, а не после консультации с докой
28 май 13, 01:00    [14356801]     Ответить | Цитировать Сообщить модератору
 Re: Индексы с included columns  [new]
Mind
Member

Откуда: Лучший город на Земле
Сообщений: 2322
+ А еще
5. в INCLUDE вроде можно запихать поле длинной больше 900 символов.
28 май 13, 01:05    [14356807]     Ответить | Цитировать Сообщить модератору
 Re: Индексы с included columns  [new]
Ennor Tiegael
Member

Откуда:
Сообщений: 3274
+
Точно не уверен, но вроде бы можно накидать нужных колонок в уникальный индекс, не изменяя его критериев уникальности.
28 май 13, 02:35    [14356867]     Ответить | Цитировать Сообщить модератору
 Re: Индексы с included columns  [new]
Ruuu
Member

Откуда: Иркутск
Сообщений: 4272
locky,
+
поскольку такие значения хранятся в индексе на уровне листьев, то:
1. меньше времени на перестроение индекса
2. если идет частый update такого поля, то меньшая фрагментация индекса
3. меньшее занимаемое место на диске
28 май 13, 05:02    [14356897]     Ответить | Цитировать Сообщить модератору
 Re: Индексы с included columns  [new]
Сергей Викт.
Member

Откуда: Москва
Сообщений: 888
locky,

+

1. Занимает меньше места
2. Быстрее апдейтится
3. Менее фрагментирован
4. Да и вообще отличная штука:) Особенно если в плане много затратных RID Lookup:) Строго ИМХО, я пока только учусь.
28 май 13, 09:04    [14357136]     Ответить | Цитировать Сообщить модератору
 Re: Индексы с included columns  [new]
baracs
Member

Откуда: Москва
Сообщений: 7204
locky,

В спойлеры, как я понимаю, подглядывать нельзя?
+
Меньший, по сравнению с покрывающим те же колнки индексом, размер;
меньше веток в дереве;
меньше фрагментация (предполагаю).
Следствие: меньше затраты на поиск/сканирование и обслуживание индекса.
28 май 13, 09:34    [14357242]     Ответить | Цитировать Сообщить модератору
 Re: Индексы с included columns  [new]
Гость333
Member

Откуда:
Сообщений: 3683
+
Индексы с included столбцами позволяют не делать сортировку по столбцам, сортировать которые не имеет смысла. Отсюда:
— такие индексы быстрее строятся, т.к. сортировка идёт по меньшему количеству столбцов;
— CRUD-операции обходятся дешевле — по CPU, памяти и IO;
— "ветвистая" часть Б-дерева занимает меньше места (листовая — столько же);
— в некоторых случаях количество уровней Б-дерева может уменьшиться, что даёт дополнительный бонус по CRUD;
— при помощи included-столбцов можно превысить лимит в 900 байт суммарной длины ключевых столбцов (хотя, наверное, это не считается — т.к. при таком раскладе нельзя построить соответствующий "обычный" покрывающий индекс);
— в Оракле таких индексов нет, что можно использовать как один из аргументов в холиварах MSSQL/Oracle, ежели ораклисты начинают песню "Микрософт все фичи тырит из Оракла"

Насчёт порядка убывания важности не уверен, т.к. "это ж думать надо" :)
28 май 13, 10:33    [14357576]     Ответить | Цитировать Сообщить модератору
 Re: Индексы с included columns  [new]
StarikNavy
Member

Откуда: Москва
Сообщений: 2396
а итоги будут озвучены?
28 май 13, 11:14    [14357887]     Ответить | Цитировать Сообщить модератору
 Re: Индексы с included columns  [new]
locky
Member

Откуда: Харьков, Украина
Сообщений: 62034
в спойлеры можно смотреть сразу после того, как ответите :)

итоги, в принципе - в спойлерах, я просто соберу статистику по вариантам ответов

варианты ответов изначально не озвучиваютя для того, дабы не придавать мыслям направление

если у вас есть коллеги, которые могут что-то знать на эту тему, и у вас есть пара лишний минут - не поленитесь, спросите их - и ответ опубликуйте в отдельном спойлере. Моя благодарность не будет знать пределов в границах разумного :)
28 май 13, 15:30    [14359962]     Ответить | Цитировать Сообщить модератору
 Re: Индексы с included columns  [new]
Shakill
Member

Откуда: мск
Сообщений: 1880
locky,

+
быстрее операции над индексом, занимают меньше места
28 май 13, 15:36    [14359998]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить