Учебники

MariaDB — Временные столы

Некоторые операции могут выиграть от временных таблиц из-за скорости или одноразовых данных. Срок действия временной таблицы заканчивается при завершении сеанса независимо от того, используете ли вы их из командной строки, с помощью сценария PHP или через клиентскую программу. Это также не появляется в системе типичным способом. Команда SHOW TABLES не показывает список, содержащий временные таблицы.

Создать временную таблицу

Ключевое слово TEMPORARY в операторе CREATE TABLE порождает временную таблицу. Просмотрите пример, приведенный ниже —

mysql>CREATE TEMPORARY TABLE order (
   item_name VARCHAR(50) NOT NULL
   , price DECIMAL(7,2) NOT NULL DEFAULT 0.00
   , quantity INT UNSIGNED NOT NULL DEFAULT 0
);

При создании временной таблицы вы можете клонировать существующие таблицы, то есть все их общие характеристики, с помощью предложения LIKE. Оператор CREATE TABLE, используемый для порождения временной таблицы, не будет фиксировать транзакции в результате ключевого слова TEMPORARY.

Хотя временные таблицы отличаются от временных и удаляются в конце сеанса, они могут иметь определенные конфликты —

  • Иногда они конфликтуют с призрачными временными таблицами из истекших сеансов.

  • Иногда они конфликтуют с теневыми именами невременных таблиц.

Иногда они конфликтуют с призрачными временными таблицами из истекших сеансов.

Иногда они конфликтуют с теневыми именами невременных таблиц.

Примечание. Временные таблицы могут иметь то же имя, что и существующая невременная таблица, поскольку MariaDB рассматривает ее как разностную ссылку.

администрация

MariaDB требует предоставления пользователям привилегий для создания временных таблиц. Используйте оператор GRANT, чтобы предоставить эту привилегию пользователям без прав администратора.

GRANT CREATE TEMPORARY TABLES ON orders TO 'machine122'@'localhost';

Бросить временную таблицу

Хотя временные таблицы по существу удаляются в конце сеансов, у вас есть возможность удалить их. Чтобы удалить временную таблицу, необходимо использовать ключевое слово TEMPORARY, а передовой опыт предполагает удаление временных таблиц перед любыми временными.