индексы в sql server, внутренняя работа и структура индексов - PullRequest
1 голос
/ 23 марта 2011

когда мы создаем кластеризованный индекс CIX_FirstNames для столбца, скажем, FirstNames , тогда что на самом деле происходит внутри SQL Server?

Я прочитал, что кластерные индексы создают копию данных.

Итак, создает ли сервер sql новую индексную таблицу IndexTable и копирует все FirstNames из таблицы в IndexTable , а при поиске по имени сначала отображает ее из таблицы индексов?

Это фактическая работа кластерных индексов?

Ответы [ 2 ]

2 голосов
/ 23 марта 2011

Это слишком большая тема для быстрого ответа - вам нужно получить:

Внутренние компоненты Microsoft SQL Server 2008

enter image description here

, который охватывает все это очень подробно.

Но вкратце: НЕТ! создание кластеризованного индекса делает НЕ дублирующимися данными!Откуда вы взяли это из ??

Что кластеризованный индекс делает, это переупорядочивает данные (в соответствии с ключом), а узлы конечного уровня кластеризованного индекса являются страницами данных - но они существуют только один раз.

Еще несколько интересных ресурсов:

0 голосов
/ 27 января 2012

Представления индексирования дублируют данные.

"Недостатком этого является то, что индексированное представление является полной копией данных из базовых таблиц [...]"

http://strangenut.com/blogs/dacrowlah/archive/2008/11/26/creating-an-indexed-view-in-sql-server-2005-and-2008.aspx

...