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

Откуда:
Сообщений: 7076
Услышал от одного человека, мол MS SQL всегда держит в каждом индексе все колонки таблицы и что ускорение происходит только из-за деревоподобности индекса - чтобы дойти до нужной записи не надо перебирать всю таблицу, но только часть веток индекса.

Я знаю про included columns, но всегда считал, что по умолчанию в индекс включаются только индексируемые поля, но никак не все поля таблицы.

Кто прав? Может в какой-то старой версии в индекс всегда включались все колонки?
19 ноя 09, 18:37    [7952946]     Ответить | Цитировать Сообщить модератору
 Re: По поводу индексов в MS SQL  [new]
locky
Member

Откуда: Харьков, Украина
Сообщений: 62034
an0nym,

прав BOL.
Человек не прав.
19 ноя 09, 18:39    [7952950]     Ответить | Цитировать Сообщить модератору
 Re: По поводу индексов в MS SQL  [new]
an0nym
Member

Откуда:
Сообщений: 7076
locky
an0nym,

прав BOL.
Человек не прав.

И даже в допотопных версиях такого не было? Имею в виду версии 2000 и раньше.
19 ноя 09, 18:41    [7952955]     Ответить | Цитировать Сообщить модератору
 Re: По поводу индексов в MS SQL  [new]
Le Peace
Member

Откуда: Москва
Сообщений: 8969
an0nym, все колонки есть в кластерном индексе.
19 ноя 09, 18:41    [7952957]     Ответить | Цитировать Сообщить модератору
 Re: По поводу индексов в MS SQL  [new]
locky
Member

Откуда: Харьков, Украина
Сообщений: 62034
an0nym
И даже в допотопных версиях такого не было? Имею в виду версии 2000 и раньше.

И даже в них.
19 ноя 09, 18:47    [7952979]     Ответить | Цитировать Сообщить модератору
 Re: По поводу индексов в MS SQL  [new]
an0nym
Member

Откуда:
Сообщений: 7076
Le Peace
an0nym, все колонки есть в кластерном индексе.

Является ли кластерный индекс копией данных таблицы в индексе или просто способом организации данных таблицы, которые содержатся всё таки в единственном экземпляре?
19 ноя 09, 18:55    [7953008]     Ответить | Цитировать Сообщить модератору
 Re: По поводу индексов в MS SQL  [new]
locky
Member

Откуда: Харьков, Украина
Сообщений: 62034
an0nym,

почитать документацию - религия не позволяет?
19 ноя 09, 18:57    [7953019]     Ответить | Цитировать Сообщить модератору
 Re: По поводу индексов в MS SQL  [new]
an0nym
Member

Откуда:
Сообщений: 7076
locky
an0nym,

почитать документацию - религия не позволяет?

Я ищу подтверждения. Доки я прочитал
http://msdn.microsoft.com/en-us/library/ms189051.aspx
Clustered tables are tables that have a clustered index.
The data rows are stored in order based on the clustered index key. The clustered index is implemented as a B-tree index structure that supports fast retrieval of the rows, based on their clustered index key values. The pages in each level of the index, including the data pages in the leaf level, are linked in a doubly-linked list. However, navigation from one level to another is performed by using key values. For more information, see Clustered Index Structures.
19 ноя 09, 19:00    [7953030]     Ответить | Цитировать Сообщить модератору
 Re: По поводу индексов в MS SQL  [new]
locky
Member

Откуда: Харьков, Украина
Сообщений: 62034
an0nym,

что в ссылке "Clustered Index Structures" вам непонятно?
19 ноя 09, 19:01    [7953043]     Ответить | Цитировать Сообщить модератору
 Re: По поводу индексов в MS SQL  [new]
an0nym
Member

Откуда:
Сообщений: 7076
locky
an0nym,

что в ссылке "Clustered Index Structures" вам непонятно?

Является ли Clustered Index проиндексированной копией данных таблицы или это только способ расположения данных таблицы.
19 ноя 09, 19:03    [7953049]     Ответить | Цитировать Сообщить модератору
 Re: По поводу индексов в MS SQL  [new]
locky
Member

Откуда: Харьков, Украина
Сообщений: 62034
an0nym
locky
an0nym,

что в ссылке "Clustered Index Structures" вам непонятно?

Является ли Clustered Index проиндексированной копией данных таблицы или это только способ расположения данных таблицы.


автор
In a clustered index, the leaf nodes contain the data pages of the underlying table. The root and intermediate level nodes contain index pages holding index rows. Each index row contains a key value and a pointer to either an intermediate level page in the B-tree, or a data row in the leaf level of the index.
19 ноя 09, 19:04    [7953057]     Ответить | Цитировать Сообщить модератору
 Re: По поводу индексов в MS SQL  [new]
DeColo®es
Member

Откуда: Москва
Сообщений: 5499
Блог
an0nym
Является ли Clustered Index проиндексированной копией данных таблицы или это только способ расположения данных таблицы.
Это и есть сами данные + сбалансированное дерево. Никаких дополнительных копий не делается.
19 ноя 09, 19:09    [7953072]     Ответить | Цитировать Сообщить модератору
 Re: По поводу индексов в MS SQL  [new]
an0nym
Member

Откуда:
Сообщений: 7076
locky
an0nym
locky
an0nym,

что в ссылке "Clustered Index Structures" вам непонятно?

Является ли Clustered Index проиндексированной копией данных таблицы или это только способ расположения данных таблицы.


автор
In a clustered index, the leaf nodes contain the data pages of the underlying table. The root and intermediate level nodes contain index pages holding index rows. Each index row contains a key value and a pointer to either an intermediate level page in the B-tree, or a data row in the leaf level of the index.

Ладно, проехали. :) Это я прочел и перевел, мне всего лишь нужно было подтверждение, что под the data pages of the underlying table имеется в виду не копия данных. Будем считать, что вы подтвердили. Спасибо.
19 ноя 09, 19:09    [7953073]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить