Использование Нескольких Пулов буферов

Рубрика: Управление Памятью

Администратор базы данных (DBA) может улучшить производительность буферного кэша базы данных, создавая несколько пулов буферов. Вы назначаете объекты пулу буферов в зависимости от того, как к объектам обращаются.

Использование Нескольких Пулов буферов

Есть три пула буферов:

  • Хранения: Этот пул используется, чтобы сохранять объекты в памяти, которые, вероятно, будут снова использованы. Хранение этих объектов в памяти уменьшает операции ввода-вывода. Буферы сохраняются в этом пуле путем гарантии того, что пулу задается размер больше, чем полный размер сегментов, назначенных пулу. Это означает, что буферы не должны устаревать. Пул хранения конфигурируется, определяя значение для параметра DB_KEEP_CACHE_SIZE.

  • Удаления: Этот пул используется для блоков в памяти, у которых мало шансов, что они будут снова использованы. Пулe удаления задается размер меньше, чем полный размер сегментов, назначенных пулу. Это означает, что блоки, читаемые в пул, должны будут часто устаревать. Пул удаления конфигурируется, определяя значение для параметра DB_RECYCLE_CACHE_SIZE.

  • По умолчанию: Этот пул всегда существует. Он эквивалентен буферному кэшу экземпляра без пула хранения или пула удаления и конфигурируется с параметром DB_CACHE_SIZE.

Отметьте: Память в пуле хранения или удаления не является подмножеством пула буферов по умолчанию.

Использование Нескольких Пулов буферов

Пункт BUFFER_POOL используется, чтобы определить пул буферов по умолчанию для объекта. Это - часть предложения STORAGE и допустим для операторов CREATE и ALTER таблицы, кластера и индекса. Блоки из объекта без явно заданного пула буферов идут в пул буферов по умолчанию.

Синтаксис такой: BUFFER_POOL [KEEP | RECYCLE | DEFAULT].

Когда изменяется пул буферов по умолчанию для объекта при использовании оператора ALTER, блоки, которые уже кэшированы, остаются в их текущих буферах, пока они не будут сброшены путем обычной дейтельности по управлению кэшем. Блоки, считанные с диска, помещаются в недавно указанный пул буферов для сегмента.

Поскольку пулы буферов назначаются сегменту, объекты с несколькими сегментами могут быть блоки в нескольких пулах буферов. Например, индексно-организованная таблица может иметь различные пулы, определенные для индексного сегмента, и для сегмента переполнения.

Далее: Контроль производительности

Смотрите также
Комментарии
Написать

(обязательно)

(обязательно)

Это не спам (обязательно)