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

Откуда:
Сообщений: 1911
https://www.sql.ru/articles/mssql/03013101indexes.shtml#5
Когда запрос выполняется к таблице не имеющей кластерного индекса и без использования не кластерных индексов, выполняется простое сканирование таблицы. Для того что бы найти данные в куче (heap), SQL Server использует Index Allocation Map (IAM). IAM представляет страницу которая содержит карту всех экстентов, которые содержат данные указанной таблицы. SQL Server использует IAM что бы найти все страницы с данными. Рис.7 иллюстрирует методологию используемую SQL Server. 1 означает что экстент используется объектом, а 0 – что не используется.

Любой запрос, который не может использовать индексы, работает по следующей методологии:

SQL Server делает запрос к системной таблице Sysindexes для нахождения FirstIAM страницы.

SQL Server берет IAM страницу и находит экстенты где хранится таблица.

SQL Server берет данные из страниц и экстентов, найденных по IAM



возникает вопрос исходя из названия FirstIAM

есть ли secondIAM, thirdAM ?

или обязательно FirstIAM покажет все экстенты, где хранится таблица ?
19 сен 16, 19:46    [19684673]     Ответить | Цитировать Сообщить модератору
 Re: IndexAllocationMap  [new]
o-o
Guest
Inside the Storage Engine: IAM pages, IAM chains, and allocation units
19 сен 16, 21:59    [19685231]     Ответить | Цитировать Сообщить модератору
 Re: IndexAllocationMap  [new]
questioner
Member

Откуда:
Сообщений: 1911
Чего-то тяжело.

Index allocation Map это как я понял тип страницы

В одной мапе ссылки на многие страницы наверное(мапа же)

Много ли страниц IAM в рамках таблицы/базы/сервера ?
20 сен 16, 11:33    [19686603]     Ответить | Цитировать Сообщить модератору
 Re: IndexAllocationMap  [new]
Pavel1211
Member

Откуда: Екатеринбург
Сообщений: 205
questioner,

Много. Там по ссылке все написано.
https://technet.microsoft.com/ru-ru/library/ms187501(v=sql.105).aspx - вот тут можете глянуть еще
20 сен 16, 12:07    [19686840]     Ответить | Цитировать Сообщить модератору
 Re: IndexAllocationMap  [new]
Denis Reznik
Member

Откуда: Киев
Сообщений: 156
questioner,

всё правильно. Один IAM может трекать до 4 ГБ данных. Если размер индекса превышает 4 ГБ, создаётся новый IAM, который трекает следующие 4 ГБ, и т.д.
20 сен 16, 16:32    [19688365]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить