Skip to content
ClickHouse Docs
ClickHouse DocsClickHouse Docs

CREATE TEMPORARY TABLE

Поддержка временных таблиц

ClickHouse поддерживает временные таблицы со следующими характеристиками:

  • Временные таблицы исчезают после завершения сеанса, в том числе при потере соединения.
  • Если движок не указан, временная таблица использует движок таблицы Memory; также она может использовать любой движок таблицы, кроме Replicated и KeeperMap.
  • Для временной таблицы нельзя указать DB. Она создаётся вне баз данных.
  • Невозможно создать временную таблицу с помощью распределённого DDL-запроса на всех серверах кластера (с использованием ON CLUSTER): такая таблица существует только в текущем сеансе.
  • Если временная таблица имеет то же имя, что и другая таблица, а в запросе имя таблицы указано без DB, используется временная таблица.
  • При распределённой обработке запросов временные таблицы с движком Memory, используемые в запросе, передаются на удалённые серверы.

Синтаксис

Чтобы создать временную таблицу, используйте следующий синтаксис:

CREATE [OR REPLACE] TEMPORARY TABLE [IF NOT EXISTS] table_name
(
    name1 [type1] [DEFAULT|MATERIALIZED|ALIAS expr1],
    name2 [type2] [DEFAULT|MATERIALIZED|ALIAS expr2],
    ...
) [ENGINE = engine]

В большинстве случаев временные таблицы создаются не вручную, а при использовании внешних данных в запросе или распределённого (GLOBAL) IN. Дополнительную информацию см. в соответствующих разделах

Вместо временных таблиц можно использовать таблицы с ENGINE = Memory.

Navigation