Spec-Zone.ru › MariaDB

Форматы хранения Aria

Двигатель хранения Aria поддерживает три различных формата хранения таблиц.

Это FIXED, DYNAMIC и PAGE, и их можно установить с помощью опции ROW FORMAT в инструкции CREATE TABLE. PAGE — это формат по умолчанию, в то время как FIXED и DYNAMIC по сути такие же, как форматы MyISAM.

Инструкция SHOW TABLE STATUS может быть использована для просмотра формата хранения, используемого таблицей.

Фиксированной длины

Таблицы фиксированной длины (или статические) содержат записи фиксированной длины. Длина каждого столбца одинакова для всех записей, независимо от фактического содержимого. Это формат по умолчанию, если таблица не имеет полей BLOB, TEXT, VARCHAR или VARBINARY и не указан ROW FORMAT. Также можно указать таблицу фиксированной длины с ROW_FORMAT=FIXED в определении таблицы.

Таблицы, содержащие поля BLOB или TEXT, не могут быть FIXED, так как по своему дизайну они являются динамическими полями.

Таблицы фиксированной длины обладают рядом характеристик

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

Динамические

Динамические таблицы содержат записи переменной длины. Это формат по умолчанию, если таблица имеет поля BLOB, TEXT, VARCHAR или VARBINARY, и не указан ROW FORMAT. Также можно указать динамическую таблицу с ROW_FORMAT=DYNAMIC в определении таблицы.

Динамические таблицы обладают рядом характеристик

  • Каждая строка содержит заголовок, указывающий длину строки.
  • Строки легко фрагментируются. Обновление записи, чтобы сделать ее длиннее, скорее всего, обеспечит ее хранение в разных местах на диске.
  • Все строковые столбцы длиной четыре символа или более являются динамическими.
  • Они требуют намного меньше места, чем таблицы фиксированной длины.
  • Восстановление после сбоя сложнее, чем в таблицах FIXED.

Страничный

Формат страницы — это формат по умолчанию для таблиц Aria и единственный формат, который может быть использован, если TRANSACTIONAL=1.

Таблицы страницы обладают рядом характеристик:

  • Кэшируется кэшем страниц, что обеспечивает лучшую производительность при случайном доступе, так как использует меньше системных вызовов.
  • Не фрагментируются так легко, как формат DYNAMIC во время обновлений. Максимальное количество фрагментов очень низкое.
  • Обновления выполняются быстрее, чем в динамических таблицах.
  • Имеет небольшой накладные расходы на хранение, заметные в основном для очень коротких строк
  • Полный поиск по таблице выполняется медленнее
  • Медленнее, если существует несколько дублируемых ключей, так как Aria сначала запишет строку, затем ключи и только затем проверит наличие дубликатов

Транзакционный

См. Двигатель хранения Aria для влияния опции TRANSACTIONAL на формат строки.

Содержимое, воспроизведенное на этом сайте, является собственностью соответствующих владельцев, и это содержимое не просматривается предварительно компанией MariaDB. Мнения, информация и мнения, выраженные в этом содержании, не обязательно отражают взгляды MariaDB или любой другой стороны.

© 2023 MariaDB
Licensed under the Creative Commons Attribution 3.0 Unported License and the GNU Free Documentation License.
https://mariadb.com/kb/en/aria-storage-formats/

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API