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

Откуда:
Сообщений: 521
День добрый!
Возник такой вопрос,
Скажем есть таблица tblTest:
c1c2c3
aaa111500
bbb222600
ccc333700


Существует первичный ключ и кластеризованный индекс для c1 и некластеризованный индекс для c2 и c3

Значит ли это, что этот некластеризованный индекс хранит в себе ровно все данные таблицы? Т.е. c2, c3 и указатель к c1?

Как вообще физически хранится объект "некластеризованный индекс"? Можно ли такой индекс рассматривать как копию исходной таблицы?

Грубо говоря, если есть еще один некластеризованный индекс только для c3, то еще одна "таблица" в которой находятся только c3 и c1(указатель).

Сорри если не корректно задал вопрос...

Спасибо!
27 авг 12, 23:59    [13073031]     Ответить | Цитировать Сообщить модератору
 Re: Вопрос по индексам  [new]
Slava_Nik
Member

Откуда: из России
Сообщений: 901
https://www.sql.ru/articles/mssql/03013101indexes.shtml тут хорошая теория.

кратко

Как вообще физически хранится объект "некластеризованный индекс"? Можно ли такой индекс рассматривать как копию исходной таблицы? -нет, т.к в некластеризованный индекс будут поля только, которые включены в индекс.

Грубо говоря, если есть еще один некластеризованный индекс только для c3, то еще одна "таблица" в которой находятся только c3 и c1(указатель). - не указатель, а само значение кластерного ключа, соответсвенно поле кластерного ключа бесмысленно включать в индекс как включенное поле.
28 авг 12, 00:53    [13073167]     Ответить | Цитировать Сообщить модератору
 Re: Вопрос по индексам  [new]
abrashka
Member

Откуда:
Сообщений: 521
Slava_Nik
Как вообще физически хранится объект "некластеризованный индекс"? Можно ли такой индекс рассматривать как копию исходной таблицы? -нет, т.к в некластеризованный индекс будут поля только, которые включены в индекс.

Спасибо!
В моем примере это и есть вся таблица, но еслиб было еще какое-нибудь поле в таблице, которое не входит в данный индекс, то "объект" физически содержал бы поля c1, c2, c3 точно в таком виде, как и в исходной таблице? или все-таки есть какая-то компрессия, обработка и т.п.?
28 авг 12, 01:01    [13073189]     Ответить | Цитировать Сообщить модератору
 Re: Вопрос по индексам  [new]
Гавриленко Сергей Алексеевич
Member

Откуда: Moscow
Сообщений: 37228
abrashka
Slava_Nik
Как вообще физически хранится объект "некластеризованный индекс"? Можно ли такой индекс рассматривать как копию исходной таблицы? -нет, т.к в некластеризованный индекс будут поля только, которые включены в индекс.

Спасибо!
В моем примере это и есть вся таблица, но еслиб было еще какое-нибудь поле в таблице, которое не входит в данный индекс, то "объект" физически содержал бы поля c1, c2, c3 точно в таком виде, как и в исходной таблице? или все-таки есть какая-то компрессия, обработка и т.п.?
Вы ссылку уже прочитали?
28 авг 12, 01:29    [13073222]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить