Схема информации TEMP_TABLES_INFO
Таблица TEMP_TABLES_INFO была добавлена в MariaDB 10.2.2 и была удалена в MariaDB 10.2.4. См. ход выполнения MDEV-12459 по альтернативному решению.
Таблица схемы информации TEMP_TABLES_INFO содержит информацию об активных временных таблицах InnoDB. Все временные таблицы, созданные пользователем и системой, будут отображаться при запросе к этой таблице, за исключением оптимизированных внутренних временных таблиц. Данные хранятся в оперативной памяти.
Ранее метаданные временной таблицы InnoDB хранились в системных таблицах InnoDB.
Она содержит следующие столбцы:
| Столбец | Описание |
|---|---|
TABLE_ID |
Идентификатор таблицы. |
NAME |
Имя таблицы. |
N_COLS |
Количество столбцов во временной таблице, включая три скрытых столбца, которые создаёт InnoDB (DB_ROW_ID, DB_TRX_ID, и DB_ROLL_PTR). |
SPACE |
Числовой идентификатор идентификатора пространства таблиц, содержащего временную таблицу. Сжатые временные таблицы по умолчанию хранятся в отдельных пространствах таблиц на уровне таблиц в каталоге временных файлов. Для несжатых таблиц общая временная таблица называется ibtmp1, находящаяся в каталоге данных. Всегда имеет ненулевое значение и пересоздается при перезапуске сервера. |
PER_TABLE_TABLESPACE |
Если TRUE, временная таблица находится в отдельном пространстве таблиц на уровне таблиц. Если FALSE, она находится в общем пространстве таблиц временных таблиц. |
IS_COMPRESSED |
TRUE если таблица сжата. |
Для просмотра таблицы требуется PROCESS разрешение.
Примеры
CREATE TEMPORARY TABLE t (i INT) ENGINE=INNODB; SELECT * FROM INFORMATION_SCHEMA.INNODB_TEMP_TABLE_INFO; +----------+--------------+--------+-------+----------------------+---------------+ | TABLE_ID | NAME | N_COLS | SPACE | PER_TABLE_TABLESPACE | IS_COMPRESSED | +----------+--------------+--------+-------+----------------------+---------------+ | 39 | #sql1c93_3_1 | 4 | 64 | FALSE | FALSE | +----------+--------------+--------+-------+----------------------+---------------+
Добавление сжатой таблицы:
SET GLOBAL innodb_file_format="Barracuda"; CREATE TEMPORARY TABLE t2 (i INT) ROW_FORMAT=COMPRESSED ENGINE=INNODB; SELECT * FROM INFORMATION_SCHEMA.INNODB_TEMP_TABLE_INFO; +----------+--------------+--------+-------+----------------------+---------------+ | TABLE_ID | NAME | N_COLS | SPACE | PER_TABLE_TABLESPACE | IS_COMPRESSED | +----------+--------------+--------+-------+----------------------+---------------+ | 40 | #sql1c93_3_3 | 4 | 65 | TRUE | TRUE | | 39 | #sql1c93_3_1 | 4 | 64 | FALSE | FALSE | +----------+--------------+--------+-------+----------------------+---------------+
© 2023 MariaDB
Licensed under the Creative Commons Attribution 3.0 Unported License and the GNU Free Documentation License.
https://mariadb.com/kb/en/information-schema-temp_tables_info-table/