Индекс создает новую таблицу? - PullRequest
0 голосов
/ 08 октября 2018

Мне трудно понять, что именно происходит, когда я создаю индекс.Так что, если я создаю индекс на (Col1, Col2).Будет ли создана новая таблица, содержащая только Col1 и Col2, на которой будет выполняться мой запрос?

Или я должен указать, что я использую индекс в своем запросе, а затем для этого запроса, и этот запрос только для моей таблицы теперь сокращен до (Col1, Col2)?

Спасибо

1 Ответ

0 голосов
/ 08 октября 2018

Когда вы создаете индекс для таблицы, внутренне он не создает никакой новой таблицы, а просто индексирует.Этот индекс является физически отдельным и имеет данные, организованные как дерево (обычно дерево B +), что помогает быстрее выполнять поиск и ускоряет запросы, которые имеют предложение where, имеющее имя столбца, для которого создается индекс.Если вы не создаете индексы для таблицы, то запросы к этой таблице, возможно, должны выполнить полное сканирование таблицы, чтобы найти записи.Индексы могут быть уникальными или неуникальными.

...