Эта связь мне не ясна - я путаюсь между кластерными и некластеризованными индексами.
Итак, я готов объяснить clusters and non-cluster indexes
(согласно моему пониманию)
Match
стол: книга
строки: страницы
адрес строки: номер страницы
Пара
Некластерный индекс = Книга и Кластерный индекс = Молочные продукты
Объяснение некластерного индекса
- Содержание Книги написано в потоке. Но его темы отсортированы на последней странице ( дополнительная страница ) как название темы с номером страницы проблемы.
- Фактические строки вставлены. Но столбец индекса отсортирован в другом пространстве памяти с адресом строки.
- Если читатель хочет конкретную тему, то кто будет искать название темы ( отсортированный список ) в индексе.
- Если выполняется поиск конкретной строки, то ее номер будет получен из индекса.
- Новая тема добавлена после последней темы. Затем индекс нужно отсортировать по новой теме. И это номер страницы добавлен в индекс.
- Кроме того, новая строка добавлена как последняя строка. Затем индекс был переупорядочен с новым значением, и его новый адрес строки добавлен в индекс.
Объяснение индекса кластера
- Здесь страницы и строки вставляются в порядке сортировки.
- Если страница хочет добавить в Дневник, то страница индексируется как номер страницы (ДАТА согласно Дневнику). И вставлен на место беспокойства.
- Если строка вставлена в таблицу, таблицу необходимо переупорядочить с новым значением столбца индекса.
- На Dairy страницы отсортированы. Где как строки таблицы отсортированы. Нет необходимости в отдельном индексе для таблицы молочных и кластерных индексов.
Позвольте мне объяснить с помощью таблицы:
create table #nonCluster (i int, name varchar(10))
create table #Cluster (i int, name varchar(10))
CREATE NONCLUSTERED INDEX #nonCluster
ON #noncluster(i); -- Here Non-Cluster Index
CREATE CLUSTERED INDEX #Cluster
ON #cluster(i); -- Here Cluster Index
insert #nonCluster values(1,'one'),(9,'nine'),(5,'five') -- Random data are inserted.
insert #Cluster values(1,'one'),(9,'nine'),(5,'five') -- Random data are inserted.
select * from #nonCluster -- Here we see the order of rows. That is un-order.
select * from #Cluster -- Here we see the order of rows. That is order.
insert #nonCluster values(7,'seven') -- Random data are inserted.
insert #Cluster values(7,'seven') -- Random data are inserted.
select * from #nonCluster -- Here we see the no change on order of rows. Rows are in how we were inserted.
select * from #Cluster -- Here we see the sorted order of rows.
insert #nonCluster values(2,'two')
insert #Cluster values(2,'two')
select * from #nonCluster -- Hence explained With help of order of rows.
select * from #Cluster -- Hence explained With help of order of rows.