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

Откуда: Ташкент
Сообщений: 304
Добрый день!

Нужен совет гуру.

Есть некая таблица «Table1». Я часто фильтрую данные в зависимости от значений столбцов «A» и «B», соответственно я создал 2 неуникальных индекса для каждого столбца. Недавно прочёл статью про «покрывающий индекс», в связи с этим у меня возник вопрос: что лучше, 2 индекса на каждый столбец отдельно или всё-таки 1 покрывающий индекс?
Что-то вроде этого:
CREATE NONCLUSTERED INDEX X ON TABLE1 (A ASC) INCLUDE (B)


Примечание:
1). Не всегда я в фильтрах ссылаюсь на оба поля. Т.е. иногда только по столбцу «A», а иногда только по столбцу «B» фильтрую данные.
2) Я в БД напичкал везде обычные, несоставные индексы, где использую фильтры.
19 мар 17, 11:03    [20310231]     Ответить | Цитировать Сообщить модератору
 Re: Индексы  [new]
iap
Member

Откуда: Москва
Сообщений: 47198
Komil_
CREATE NONCLUSTERED INDEX X ON TABLE1 (A ASC) INCLUDE (B)
Этот индекс вы называете "покрывающим"?
[B] входит в индекс, да?
19 мар 17, 11:13    [20310244]     Ответить | Цитировать Сообщить модератору
 Re: Индексы  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 32174
Komil_
Что-то вроде этого:
CREATE NONCLUSTERED INDEX X ON TABLE1 (A ASC) INCLUDE (B)
Это не покрывающий индекс, он не может использоваться при поиске по А,Б или по Б (впрочем, для поиска по Б и покрывающий индекс был бы непригоден)

Komil_
Я в БД напичкал везде обычные, несоставные индексы, где использую фильтры.
Лучше делать индексы, оптимальные для запросов.
Потому что если напичкать много ненужных индексов, то это будет плохо для модификации данных.
19 мар 17, 11:23    [20310254]     Ответить | Цитировать Сообщить модератору
 Re: Индексы  [new]
Владислав Колосов
Member

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

не существует средств, одинаково хороших для операционных и, одновременно, аналитических запросов. Поэтому для аналитики готовят отдельные таблицы или даже устанавливают SSAS с разработкой приложений отчетности.
20 мар 17, 10:37    [20312784]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить