Spec-Zone.ru › MariaDB

Временные табличные пространства InnoDB

MariaDB начиная с 10.2

Использование временных табличных пространств InnoDB было введено в MariaDB 10.2. В более ранних версиях временные табличные пространства существовали как часть табличного пространства InnoDB системы или представляли собой файлы на таблицу в зависимости от конфигурации переменной системы innodb_file_per_table.

Когда пользователь создает временную таблицу с помощью инструкции CREATE TEMPORARY TABLE и движок устанавливается как InnoDB, MariaDB создает временный файл табличного пространства. Если таблица не сжата, MariaDB записывает данные во общее временное табличное пространство, как определено переменной системы innodb_temp_data_file_path. MariaDB не разрешает создание временных таблиц с ROW_FORMAT=COMPRESSED. Все временные таблицы будут несжатыми. MariaDB удаляет временные табличные пространства при нормальном завершении работы сервера и пересоздаёт их при повторном запуске. Они не могут быть размещены на необработанном устройстве.

Внутренние временные табличные пространства (то есть временные таблицы, которые не могут храниться в памяти) используют либо Aria, либо MyISAM в зависимости от переменной системы aria_used_for_temp_tables. Вы можете установить движок по умолчанию для создаваемых пользователем временных таблиц с помощью переменной системы default_tmp_storage_engine.

Настройка размера временных табличных пространств

Для настройки размера временных табличных пространств используйте переменную системы innodb_temp_data_file_path. Эту переменную можно указать как аргумент командной строки для mysqld или в соответствующей группе параметров сервера в файле параметров групп параметров в файле параметров. Например:

[mariadb]
...
innodb_temp_data_file_path=ibtmp1:32M:autoextend

Синтаксис этой переменной такой же, как у переменной innodb_data_file_path. То есть имя файла, размер и опции. По умолчанию создается файл размером 12 МБ с автоматическим расширением в ibtmp1 в каталоге данных.

Чтобы увеличить размер временного табличного пространства, можно добавить путь к дополнительному файлу табличного пространства в значение переменной системы innodb_temp_data_file_path. Предоставление дополнительных путей позволяет распределять временное табличное пространство между несколькими файлами табличного пространства. Последний файл может иметь атрибут autoextend, что гарантирует, что у вас не закончится место. Например:

[mariadb]
...
innodb_temp_data_file_path=ibtmp1:32M;ibtmp2:32M:autoextend

В отличие от обычных табличных пространств, временные табличные пространства удаляются при остановке MariaDB. Чтобы уменьшить временные табличные пространства до минимального размера, перезапустите сервер.

Содержимое, воспроизводимое на этом сайте, является собственностью соответствующих владельцев, и это содержимое не проходит предварительную проверку 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/innodb-temporary-tablespaces/

Spec-Zone.ru

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