Здавалка
Главная | Обратная связь

Сторінки файлів даних



Сторінки файлів даних SQL Server нумеруються послідовно; перша сторінка файлу отримує нульовий номер (0). Кожен файл бази даних має унікальний цифровий ідентифікатор. Аби унікальним чином визначити сторінку бази даних, необхідно використовувати як ідентифікатор файлу, так і номер цієї сторінки. На мал. 10.3. показані номери сторінок бази даних, що містить первинний файл даних об'ємом в 4 МБ і вторинний файл даних об'ємом в 1 МБ.

Перша сторінка кожного файлу (сторінка з номером 0) – це сторінка заголовку файлу; вона містить зведення про атрибути даного файлу. Сторінки з номерами 1,2,3 будуть описані нижче.

Організація таблиць та індексів

Таблиці і індекси зберігаються у вигляді колекції сторінок розміром 8 Кб.

Сторінки таблиць та індексів містяться в одній або декількох секціях. Секція – це призначена для користувача одиниця організації даних. За замовчуванням таблиця або індекс має єдину секцію, яка містить всі сторінки таблиці або індексу. Секція розташовується в одній файловій групі. Таблиця або індекс, що мають одну секцію, еквівалентні організаційній структурі таблиць і індексів попередніх версій SQL Server.

Якщо таблиця або індекс використовують декілька секцій, дані секціонуються горизонтально, так що групи рядків зіставляються окремим секціям, ґрунтуючись на вказаному стовпці. Секції можуть зберігатися в одній або декількох файлових групах в базі даних. Таблиця або індекс розглядаються як єдина логічна сутність при виконанні над даними запитів або оновлень. Секція складається з фрагментів одного або декількох файлів. Дані усередині фрагменту файлу представляються у вигляді купи (рядки даних зберігаються без певного порядку – послідовне розміщення) або збалансованого дерева. Фрагмент файлу може приймати один із трьох виглядів: дані з типами невеликих розмірів (дані IN_ROW_DATA), дані з типами великих розмірів (LOB_DATA), дані змінної довжини (переповнювання рядка ROW_OVERFLOW_DATA).

У кожній секції купи або індексу міститься принаймні одна одиниця розподілу IN_ROW_DATA. Крім того, залежно від схеми купи або індексу, там можуть міститися одиниці розподілу LOB_DATA або ROW_OVERFLOW_DATA.

Кожна секція містить рядки даних або в купі, або в структурі кластеризованого індексу. Кластеризований індекс реалізується у вигляді структури індексу збалансованого дерева, який підтримує швидкий пошук рядків по їх ключових значеннях. Сторінки в кожному рівні індексу, включаючи сторінки даних на кінцевому рівні, зв'язані у двонаправлений список. Проте переміщення з одного рівня на іншій виконується за допомогою ключових значень.

Купа – це послідовність рядків таблиці, які не мають кластеризованого індексу. Рядки даних зберігаються без певного порядку, і який-небудь порядок в послідовності сторінок даних відсутній. Сторінки даних не зв'язані у зв'язний список.







©2015 arhivinfo.ru Все права принадлежат авторам размещенных материалов.