Skip to content
ClickHouse Docs
ClickHouse DocsClickHouse Docs

CREATE TEMPORARY TABLE

一時テーブルのサポート

ClickHouse は、次の特性を持つ一時テーブルをサポートしています。

  • 一時テーブルは、接続が失われた場合を含め、セッションの終了時に消滅します。
  • エンジンを指定しない場合、一時テーブルには Memory テーブルエンジンが使用されます。また、Replicated および KeeperMap エンジン以外の任意のテーブルエンジンを使用できます。
  • 一時テーブルには DB を指定できません。一時テーブルはデータベースの外部に作成されます。
  • ON CLUSTER を使用した distributed DDL クエリで、クラスター内のすべてのサーバーに一時テーブルを作成することはできません。このテーブルは現在のセッションにのみ存在します。
  • 一時テーブルが別のテーブルと同じ名前であり、クエリで DB を指定せずにテーブル名を指定した場合は、一時テーブルが使用されます。
  • distributed query processing では、クエリで使用される 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