Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Индексы в таблице  [new]
_mkv_
Guest
Привет всем
Вопрос такой. Есть таблица на 48 миллионов строк.
Созданы 4 индекса
колонка date_time (тип датавремя) asc
колонка date_time (тип датавремя) desc
колонка date_time (тип датавремя), isin (varchar(25)) asc
колонка date_time (тип датавремя), isin (varchar(25)) desc

Таблица занимает 4 гига места, индексы 6 гигов. Это нормально вообще?
23 сен 09, 16:54    [7698997]     Ответить | Цитировать Сообщить модератору
 Re: Индексы в таблице  [new]
Паганель
Member

Откуда: Винница
Сообщений: 22552
А Вы спросите у того, кто все это создал - из каких соображений он сделал именно так...
23 сен 09, 16:56    [7699006]     Ответить | Цитировать Сообщить модератору
 Re: Индексы в таблице  [new]
baracs
Member

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

Что индексы занимают больше места, чем данные? Бывает...

А вот, о "нормальность" такого набора индексов вызывает сомнения
23 сен 09, 16:59    [7699023]     Ответить | Цитировать Сообщить модератору
 Re: Индексы в таблице  [new]
_mkv_
Guest
baracs,
что вы хотите сказать?
23 сен 09, 17:01    [7699037]     Ответить | Цитировать Сообщить модератору
 Re: Индексы в таблице  [new]
Maxx
Member [скрыт]

Откуда:
Сообщений: 24290
что скорее всего хватилоб индекса по
автор
колонка date_time (тип датавремя) include (isin (varchar(25)))

бо на лицо явный перебор
-------------------------------------
Jedem Das Seine
23 сен 09, 17:06    [7699059]     Ответить | Цитировать Сообщить модератору
 Re: Индексы в таблице  [new]
baracs
Member

Откуда: Москва
Сообщений: 7198
_mkv_
что вы хотите сказать?

Что, при наличии составного индекса
автор
колонка date_time (тип датавремя), isin (varchar(25)) asc

без индекса
автор
колонка date_time (тип датавремя) asc

скорее всего, можно обойтись.
23 сен 09, 17:08    [7699063]     Ответить | Цитировать Сообщить модератору
 Re: Индексы в таблице  [new]
Tigritto
Member

Откуда: от туда
Сообщений: 43
_mkv_,

Паганель и baracs правильно сказали, но можно еще саму попробовать определить. Индексы делают обычно туда к чему в запросе в секции where условия задают и смотря какой характер запросов к таблице по полноте выборки (все это не не распространиется на like). Позучай базу и как с таблицами работают, сломать всегда успеешь. Так что индекс может вполне к месту и для текстового поля если это код какой или потом удобство.
23 сен 09, 17:18    [7699134]     Ответить | Цитировать Сообщить модератору
 Re: Индексы в таблице  [new]
Дедушка
Member

Откуда: Город трёх революций
Сообщений: 5111
Maxx
что скорее всего хватилоб индекса по
автор
колонка date_time (тип датавремя) include (isin (varchar(25)))

бо на лицо явный перебор
-------------------------------------
Jedem Das Seine

версия сервера не известна :)
23 сен 09, 17:19    [7699140]     Ответить | Цитировать Сообщить модератору
 Re: Индексы в таблице  [new]
Maxx
Member [скрыт]

Откуда:
Сообщений: 24290
Дедушка,

ну если 2005 и выше то покатит ) тут же чистая теория сейчас,а не практика
23 сен 09, 17:32    [7699227]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить