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

Откуда:
Сообщений: 425
В таблице есть поле типа bit.
При просмотре на это поле будет постоянно налагаться фильтр.
В какой-то книге давно читал что индексировать bit-поля не надо. Вроде как прироста в скорости работы это не даст.
Индексировать ли поле в моем случае? Даст ли это прирост в скорости просмотра таблицы?
1 ноя 05, 16:14    [2027919]     Ответить | Цитировать Сообщить модератору
 Re: Индексировать ли Bit-поле?  [new]
Prolog
Member

Откуда: Москва
Сообщений: 2791
Прирост может быть и значительный, если, скажем, значению 0 соответсвует очень маленький процент и по нему идет часто выборка. Если примерно 50 на 50, то делать индекс абсолютно не нужно.
1 ноя 05, 16:17    [2027934]     Ответить | Цитировать Сообщить модератору
 Re: Индексировать ли Bit-поле?  [new]
diwww
Member

Откуда:
Сообщений: 425
Prolog
Прирост может быть и значительный, если, скажем, значению 0 соответсвует очень маленький процент и по нему идет часто выборка. Если примерно 50 на 50, то делать индекс абсолютно не нужно.


Со значением 0 будет ~ 1% записей.
Сделаю индекс.
Спасибо.
1 ноя 05, 16:22    [2027959]     Ответить | Цитировать Сообщить модератору
 Re: Индексировать ли Bit-поле?  [new]
Lightest
Member

Откуда:
Сообщений: 94
А вы пробовали его индексировать? В BOL сказано:
"Columns of type bit cannot have indexes on them"
1 ноя 05, 16:24    [2027969]     Ответить | Цитировать Сообщить модератору
 Re: Индексировать ли Bit-поле?  [new]
diwww
Member

Откуда:
Сообщений: 425
Lightest
А вы пробовали его индексировать? В BOL сказано:
"Columns of type bit cannot have indexes on them"


Уже сделал.
Нормально индексируется.
1 ноя 05, 16:27    [2027982]     Ответить | Цитировать Сообщить модератору
 Re: Индексировать ли Bit-поле?  [new]
locky
Member

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

Lightest wrote:
> А вы пробовали его индексировать? В BOL сказано:
> "Columns of type bit cannot have indexes on them"
где ? в 2000? в 7-ке - да, низя, в 2000 - можно

--
-------------------------
There's no silver bullet!

Posted via ActualForum NNTP Server 1.3

1 ноя 05, 16:28    [2027985]     Ответить | Цитировать Сообщить модератору
 Re: Индексировать ли Bit-поле?  [new]
GMSUka
Member

Откуда: Ukraine
Сообщений: 113
Я лично индексировал. Могу обосновать: как правило запись имеет достаточно большой размер и отсутствие индекса по битовому полю приводит к необходимости сканировать страницы данных, а после построения индекса сиквел начинает просматривать страницы индекса которые значительно меньше соответственно операций чтения в разы меньше и запрос работает быстрее. Но наиболее эффективно включать это поле в уже существующий индекс. Например таблица ВСЕГДА фильтруется по дате, то имеет создать индекс Date, Bit
1 ноя 05, 16:29    [2027992]     Ответить | Цитировать Сообщить модератору
 Re: Индексировать ли Bit-поле?  [new]
Lightest
Member

Откуда:
Сообщений: 94
locky

Lightest wrote:
> А вы пробовали его индексировать? В BOL сказано:
> "Columns of type bit cannot have indexes on them"
где ? в 2000? в 7-ке - да, низя, в 2000 - можно

--
-------------------------
There's no silver bullet!
Posted via ActualForum NNTP Server 1.3


Хм... действительно в 2000 можно. Хотя BOL от 2000 читал. Обманывают чтоли (mk:@MSITStore:C:\Program%20Files\Microsoft%20SQL%20Server\80\Tools\Books\tsqlref.chm::/ts_ba-bz_2it0.htm).
В 7 точно низя - проверял.
1 ноя 05, 16:35    [2028029]     Ответить | Цитировать Сообщить модератору
 Re: Индексировать ли Bit-поле?  [new]
Anatoly Podgoretsky
Member

Откуда:
Сообщений: 62912
Lightest
Хм... действительно в 2000 можно. Хотя BOL от 2000 читал.

Я тоже этот читал, но теперь уже не могу найти это место, возможно потому, что использую обновленный BOL от sp3a, а не старый.
1 ноя 05, 16:39    [2028047]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить