Структура JET_SPACEHINTS
Применимо к: Windows | Windows Server
Структура JET_SPACEHINTS
Структура JET_SPACEHINTS содержит сведения о шаблонах распределения пространства, когда b-дерево растет с помощью разбиения добавок или горячих точек. Разбиение добавления происходит при добавлении записей в конец b-дерева, а разделение горячих точек происходит при добавлении нескольких записей в одну виртуальную точку вставки (например, добавление "Marie", "Mark", "Martin", "Mary" в середину B-дерева, отсортированного по алфавиту).
Windows 7: Структура JET_SPACEHINTS представлена в Windows 7.
typedef struct tagJET_SPACEHINTS {
unsigned long cbStruct;
unsigned long ulInitialDensity;
unsigned long cbInitial;
JET_GRBIT grbit;
unsigned long ulMaintDensity;
unsigned long ulGrowth;
unsigned long cbMinExtent;
unsigned long cbMaxExtent;
} JET_SPACEHINTS;
Элементы
cbStruct
Размер данной структуры (в байтах). Задайте для этого элемента значение sizeof( JET_SPACEHINTS ).
ulInitialDensity
Плотность в макете (добавление).
cbInitial
Начальный размер создаваемого объекта (в байтах). Он должен быть кратным размеру страницы базы данных.
grbit
Группа битов, содержащих параметры, которые будут использоваться для этой структуры, которые включают ноль или более из следующих значений.
Значение |
Значение |
---|---|
JET_bitSpaceHintsUtilizeParentSpace |
Изменяет внутреннюю политику выделения, чтобы получить пространство из непосредственного родительского элемента b-дерева. |
JET_bitCreateHintAppendSequential |
Позволяет увеличивать поведение разделения добавления в соответствии с динамикой роста таблицы (задается cbMinExtent, ulGrowth, cbMaxExtent). |
JET_bitCreateHintHotpointSequential |
Позволяет увеличивать поведение разделения горячих точек в соответствии с динамикой роста таблицы (задается cbMinExtent, ulGrowth, cbMaxExtent). |
JET_bitRetrieveHintTableScanForward |
Если этот параметр задан, клиент указывает, что последовательная последовательная проверка является преобладающим шаблоном использования этой таблицы. |
JET_bitRetrieveHintTableScanBackward |
Если этот параметр задан, клиент указывает, что последовательная проверка в обратном направлении является преобладающим шаблоном использования этой таблицы. |
JET_bitDeleteHintTableSequential |
Если этот параметр задан, приложение ожидает, что эта таблица будет очищена в последовательном порядке— от самого низкого ключа к самому высокому ключу. |
ulMaintDensity
density to mulMaintDensity
Плотность для поддержания. Если указания по пространству указывают JET_bitRetrieveHintTableScanForward или JET_bitRetrieveHintTableScanBackward, дефрагментация таблицы будет активирована, когда используемое пространство в таблице опустится ниже этого порогового значения. Дефрагментацию таблицы можно отключить, задав для этого элемента значение 0. Установка для этого элемента значения 100 приведет к запуску дефрагментации таблицы сразу после освобождения страницы.
UlGrowth
Процент роста от последнего увеличения или начального размера, округленный до ближайшего собственного размера выделения JET.
cbMinExtent слишком маленький
Это переопределяет ulGrowth, если он слишком мал.
cbMaxExtent
Максимальное значение для увеличения в байтах. Это крышки ulGrowth.
Когда b-дерево растет за счет разбиения аппендиций или горячих точек (в отличие от случайных вставок записей), объем пространства, на который будет увеличиваться таблица, вычисляется следующим образом:
При создании мы всегда даем b-tree cbInitial.
При первом выделении заданной области мы выделим: cbInitial * ulGrowth / 100 (округлено до размера страницы базы данных) или cbMinExtent, если больше.
Во время следующего выделения cbLastAlloc * ulGrowth / 100 (округляется до размера страницы базы данных) или cbMinExtent, если больше.
При некотором выделении (которое может быть первым выделением) вычисляемый размер превысит cbMaxExtent, и этот размер будет расти после этого.
Требования
Требование | Значение |
---|---|
Клиент |
Требуется Windows Vista, Windows XP или Windows 2000 Professional. |
Сервер |
Требуется Windows Server 2008, Windows Server 2003 или Windows 2000 Server. |
Верхняя часть |
Объявлено в Esent.h. |