IT用語集 › データベース › 一時テーブル

一時テーブル

データベース Svenska → 更新: 2026-10-23

現在のセッション(接続)の間だけ存在し、切断時に自動で削除されるテーブル。CREATE TEMP TABLE staging AS SELECT ...のように作る。複雑な多段クエリやETLの中間置き場、セッション内の計算結果のキャッシュに使う。

PostgreSQLではpg_temp_セッションスキーマに作られ、MySQLではTEMPORARYキーワード、SQL Serverでは#や##の接頭辞(ローカルとグローバル)で表す。多くの場合メモリ上に置かれ(PostgreSQLはtemp_buffersで調整可能)、セッション限りなのでWALのオーバーヘッドもない。インデックスも張れる。同名の実テーブルがあれば一時テーブルが優先される。落とし穴はコネクションプールで、PgBouncerのトランザクションモードでは文ごとに接続が変わるため、一時テーブルが壊れる。永続化せずにクエリ内で中間結果を扱うなら、WITH(CTE)とLATERALという代替手段もある。

← 用語集に戻る