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

Откуда: Вологда
Сообщений: 190
Здравствуйте!

Уважаемые коллеги, подскажите пожалуйста подробно как происходит выделение памяти под таблицы базы данных ?
В книгах и видео подробной информации не нашел.
Спасибо за внимание.
24 мар 14, 18:02    [15779395]     Ответить | Цитировать Сообщить модератору
 Re: Выделение памяти под таблицы  [new]
Glory
Member

Откуда:
Сообщений: 104751
Alex_MA
подскажите пожалуйста подробно как происходит выделение памяти под таблицы базы данных ?

Память выделяется не под таблицы, а под кэш.
И в этот кэш попадают те страницы данных, которые чаще всего используются.
24 мар 14, 18:04    [15779410]     Ответить | Цитировать Сообщить модератору
 Re: Выделение памяти под таблицы  [new]
Владислав Колосов
Member

Откуда:
Сообщений: 8815
Alex_MA, прочитанная физическая страница помещается в страницу памяти.
24 мар 14, 18:11    [15779456]     Ответить | Цитировать Сообщить модератору
 Re: Выделение памяти под таблицы  [new]
Alex_MA
Member

Откуда: Вологда
Сообщений: 190
Когда создается новая таблица - для нее выделятся отдельная страница в определенном экстенте.
Если в процессе увеличивается размер таблицы - > выделяется еще одна страница. В этом же экстенте или другом ?
24 мар 14, 20:33    [15780034]     Ответить | Цитировать Сообщить модератору
 Re: Выделение памяти под таблицы  [new]
Mind
Member

Откуда: Лучший город на Земле
Сообщений: 2322
Alex_MA
Уважаемые коллеги, подскажите пожалуйста подробно как происходит выделение памяти под таблицы базы данных ?
В книгах и видео подробной информации не нашел.
Точнее надо вопросы формулировать. О какой памяти речь?
Если вас так интересуют "внутренности", то купите себе книгу из серии SQL Server Internals.
Alex_MA
Когда создается новая таблица - для нее выделятся отдельная страница в определенном экстенте.
Если в процессе увеличивается размер таблицы - > выделяется еще одна страница. В этом же экстенте или другом ?

http://technet.microsoft.com/en-us/library/ms190969(v=sql.105).aspx
To make its space allocation efficient, SQL Server does not allocate whole extents to tables with small amounts of data. SQL Server has two types of extents:

Uniform extents are owned by a single object; all eight pages in the extent can only be used by the owning object.

Mixed extents are shared by up to eight objects. Each of the eight pages in the extent can be owned by a different object.

A new table or index is generally allocated pages from mixed extents. When the table or index grows to the point that it has eight pages, it then switches to use uniform extents for subsequent allocations. If you create an index on an existing table that has enough rows to generate eight pages in the index, all allocations to the index are in uniform extents.
24 мар 14, 21:33    [15780331]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить