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

Откуда:
Сообщений: 150
Всем привет,

интересно как в колоночном индексе программа ищет данные в соседних столбцах?

Пример:
у таблицы 5 столбцов. Первая дата, остальные - строки, надо сделать выборку по дате.

ИМХО - сначала программа сделает выборку данных из колонки с датой, чтобы отфильтровать данные. А как она найдет остальные столбцы, которые связаны с этой датой? Поможет ли при этом создание у таблицы ключика?
Короче не понятно как связываются данные в соседних столбцах одной и той-же строки.

Заранее спасибо.
7 июн 17, 22:03    [20548368]     Ответить | Цитировать Сообщить модератору
 Re: Как работает поиск в колоночном индексе?  [new]
Remind
Member

Откуда: UK
Сообщений: 523
User2155,

The columnstore index does not support SEEK.

Если у вас SQL Server 2016 создавайте поверх него nonclustered rowstore indexes.
7 июн 17, 22:50    [20548458]     Ответить | Цитировать Сообщить модератору
 Re: Как работает поиск в колоночном индексе?  [new]
a_voronin
Member

Откуда: Москва
Сообщений: 4716
User2155
Всем привет,

интересно как в колоночном индексе программа ищет данные в соседних столбцах?

Пример:
у таблицы 5 столбцов. Первая дата, остальные - строки, надо сделать выборку по дате.

ИМХО - сначала программа сделает выборку данных из колонки с датой, чтобы отфильтровать данные. А как она найдет остальные столбцы, которые связаны с этой датой? Поможет ли при этом создание у таблицы ключика?
Короче не понятно как связываются данные в соседних столбцах одной и той-же строки.

Заранее спасибо.


Она делает SCAN по одной из колонок, потом LOOK апить по остальным.

Нa SQL 2014 можно можно улучшить скорость сделав партиционирование по первой (наиболее частой) колонке поиска. Например, я партиционирую по дням.
8 июн 17, 12:34    [20549714]     Ответить | Цитировать Сообщить модератору
 Re: Как работает поиск в колоночном индексе?  [new]
User2155
Member

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

сильно ускоряется?
9 июн 17, 09:44    [20552022]     Ответить | Цитировать Сообщить модератору
 Re: Как работает поиск в колоночном индексе?  [new]
a_voronin
Member

Откуда: Москва
Сообщений: 4716
User2155
a_voronin,

сильно ускоряется?


Это зависит от конкретной ситуации и конкретного запроса. Главная цель -- сделать так, чтобы запрос работал с минимумом партиций.
13 июн 17, 13:51    [20560382]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить