Описание кластерного индекса - PullRequest
0 голосов
/ 03 марта 2020

Мне известно, что кластерные индексы имитируют c физические записи в таблице и некластеризованные индексы обращаются к данным через адрес в памяти. Термин «указатель» используется довольно редко при описании некластеризованных индексов, но было бы правильно сказать, что кластерные индексы указывают на фактические данные. Или «указание» зарезервировано только при обращении к некластеризованным индексам? Я думаю, что просто «указание на фактические данные» будет приемлемым при описании кластерных индексов, потому что я не имею в виду адреса памяти или сам указатель. Я много работаю с индексами и часто даю объяснения коллегам младшего уровня. Я использовал вышеупомянутую терминологию прежде, но я никогда не был уверен, если формулировка правильная.

1 Ответ

0 голосов
/ 03 марта 2020

Самый простой способ получить asp концепцию индексов - сравнить их с теми, которые используются в реальной жизни.

Кластерный индекс функционирует как старомодная телефонная книга, которая сортируется по Городу, фамилии, имени. Это означает, что если вам нужно найти запись для Skiguy98 в Талсе и открыть книгу в Фениксе, вы знаете, что вам нужно go вперед. Если следующая страница, которую вы открываете для Валентина, вам нужно вернуться назад. Как только вы нажмете Талсу и найдете страницу, на которой есть запись для SchmitzIT, вы знаете, что вам нужно еще немного опуститься, чтобы достичь рекорда для Skiguy98.

Другими словами, поскольку существует физический механизм сортировки, он позволяет вам очень быстро найти то, что вы ищете. Однако это означает, что индекс необходимо поддерживать в актуальном состоянии, а иногда и дефрагментацию, чтобы оставаться оптимизированным.

Для сравнения, некластеризованный индекс подобен индексу в конце книги, который содержит указатели на страницы в книге, которые содержат искомый термин. Поэтому, если вы ищете «Кластерные индексы», этот индекс скажет вам, что вы можете найти этот термин на страницах 5, 25, 48 и 50. Затем вам нужно перейти на эти страницы и найти фактический термин на этих страницах.

Если ваша таблица вообще не имеет индексов, она называется кучей. Самый простой способ думать об этом - это получить книгу, которая представляет собой просто набор бумаги. Все страницы перемешиваются в случайном порядке. Всякий раз, когда я делаю демонстрацию, мне нравится иметь пачку бумаг и бросать ее на пол, а затем предлагать участникам найти все страницы, содержащие термин «кластерный указатель», и идти на кофе.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...