Spec-Zone.ru › MySQL 8.4

18.5 Справочный механизм ARCHIVE

Справочный механизм ARCHIVE производит таблицы специального назначения, которые хранят большие объёмы неиндексированных данных в очень малом объёме.

Таблица 18.5 Функции справочного механизма ARCHIVE

Таблица 18.5 Функции справочного механизма ARCHIVE
Функция Поддержка
Индексы B-дерева Нет
Резервное копирование/восстановление в заданный момент времени (Реализовано в сервере, а не в справочном механизме.) Да
Поддержка кластерных баз данных Нет
Кластеризованные индексы Нет
Сжатые данные Да
Кэши данных Нет
Зашифрованные данные Да (Реализовано в сервере с помощью функций шифрования.)
Поддержка внешних ключей Нет
Индексы полнотекстового поиска Нет
Поддержка типов геопространственных данных Да
Поддержка индексирования геопространственных данных Нет
Индексы хеширования Нет
Кэши индексов Нет
Гранность блокировки Строка
MVCC Нет
Поддержка репликации (Реализовано в сервере, а не в справочном механизме.) Да
Ограничения хранения Нет
Индексы T-дерева Нет
Транзакции Нет
Обновление статистики словаря данных Да

Справочный механизм ARCHIVE включён в дистрибутивы MySQL. Чтобы включить этот справочный механизм, если вы собираете MySQL из исходного кода, вызовите CMake с параметром -DWITH_ARCHIVE_STORAGE_ENGINE.

Чтобы изучить исходный код справочного механизма ARCHIVE, обратитесь к каталогу storage/archive дистрибутива исходного кода MySQL.

Вы можете проверить доступность справочного механизма ARCHIVE с помощью оператора SHOW ENGINES.

При создании таблицы ARCHIVE справочный механизм создаёт файлы с именами, начинающимися с имени таблицы. Файл данных имеет расширение .ARZ. Файл .ARN может появиться во время операций оптимизации.

Справочный механизм ARCHIVE поддерживает INSERT, REPLACE и SELECT, но не DELETE или UPDATE. Он поддерживает операции ORDER BY, BLOB столбцы и типы пространственных данных (см. Раздел 13.4.1, «Типы пространственных данных»). Географические системы пространственных ссылок не поддерживаются. Справочный механизм ARCHIVE использует блокировку на уровне строк.

Справочный механизм ARCHIVE поддерживает атрибут столбца AUTO_INCREMENT. Столбец AUTO_INCREMENT может иметь уникальный или неуникальный индекс. Попытка создания индекса на любом другом столбце приводит к ошибке. Справочный механизм ARCHIVE также поддерживает опцию таблицы AUTO_INCREMENT в операторах CREATE TABLE для указания начального значения последовательности для новой таблицы или сброса значения последовательности для существующей таблицы соответственно.

ARCHIVE не поддерживает вставку значения в столбец AUTO_INCREMENT, меньшего текущего максимального значения столбца. Попытки сделать это приведут к ошибке.

Справочный механизм ARCHIVE игнорирует столбцы BLOB, если они не запрашиваются, и пропускает их при чтении.

Справочный механизм ARCHIVE не поддерживает разбиение.

Хранение: Строки сжимаются по мере вставки. Справочный механизм ARCHIVE использует zlib бес損失 сжатие данных (см. http://www.zlib.net/). Вы можете использовать OPTIMIZE TABLE для анализа таблицы и упаковки её в меньший формат (почему использовать OPTIMIZE TABLE, см. далее в этом разделе). Справочный механизм также поддерживает CHECK TABLE. Существует несколько типов вставок, которые используются:

  • Оператор INSERT просто помещает строки в буфер сжатия, а этот буфер очищается по мере необходимости. Вставка в буфер защищена блокировкой. Оператор SELECT вызывает очистку буфера.

  • Массовая вставка видна только после завершения, если другие вставки не происходят одновременно, в этом случае она может быть видна частично. Оператор SELECT никогда не вызывает очистку массовой вставки, если при её загрузке не происходит обычная вставка.

Извлечение: При извлечении строки распаковываются по мере необходимости; кэша строк нет. Операция SELECT выполняет полное сканирование таблицы: при выполнении оператора SELECT он определяет, сколько строк в настоящее время доступно, и читает это количество строк. Операция SELECT выполняется как согласованное чтение. Обратите внимание, что большое количество операторов SELECT во время вставки может ухудшить сжатие, если не используются только массовые вставки. Для достижения лучшего сжатия вы можете использовать OPTIMIZE TABLE или REPAIR TABLE. Количество строк в таблицах ARCHIVE, сообщённое оператором SHOW TABLE STATUS, всегда точно. См. Раздел 15.7.3.4, «Оператор OPTIMIZE TABLE», Раздел 15.7.3.5, «Оператор REPAIR TABLE» и Раздел 15.7.7.38, «Оператор SHOW TABLE STATUS».

Дополнительные ресурсы

  • Форум, посвящённый справочному механизму ARCHIVE, доступен по адресу https://forums.mysql.com/list.php?112.

© 2025 Oracle
Licensed under the GPLv2 License.
https://docs.oracle.com/cd/E17952_01/mysql-8.4-en/archive-storage-engine.html

Spec-Zone.ru

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