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

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

Есть таблица на много миллионов записей.
Там есть некластеризованные индексы, а первичного ключа нет.

Как работает поиск в этом случае?
Например, есть индекс по дате. я хочу выбрать записи с датой "20170831". Что делает SQL Сервер?
В плане выполнения я вижу что сначала идет поиск по индексу (index seek), а затем какой-то RID Lookup. Так и не понял что это.
15 ноя 17, 13:02    [20955704]     Ответить | Цитировать Сообщить модератору
 Re: Как работает поиск по индексу, если нет первичного ключа?  [new]
Yasha123
Member

Откуда:
Сообщений: 1833
на листовом уровне индекса всегда лежат ссылки (row locators) на основную таблицу.
если основная таблица кластерная, то row locator это ключ кластерного.
если таблица - куча, там RID, реальный адрес строки в файле
15 ноя 17, 13:04    [20955716]     Ответить | Цитировать Сообщить модератору
 Re: Как работает поиск по индексу, если нет первичного ключа?  [new]
Yasha123
Member

Откуда:
Сообщений: 1833
Nonclustered Index Structures
15 ноя 17, 13:07    [20955730]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить