Fabric Data Warehouseの一時テーブル

適用対象:✅ Warehouse in Microsoft Fabric

Fabric Data Warehouseではセッションスコープ付きの一時的(#temp)テーブルを作成できます。

これらのテーブルは作成したセッション内にのみ存在し、そのセッションの間は続きます。 他のユーザーやセッションはこれらのテーブルを見ることはできません。 セッション終了時や #temp テーブルを落とした時点で、システムは自動的にこれらのテーブルを解除します。 すべてのユーザーは特定のアイテムレベルの許可を必要とせずにこれらのテーブルにアクセスできます。

データ操作や定義の構文は、Fabric Data Warehouseのユーザーテーブルと同じですが、テーブル名にプレフィックス#を追加します。 詳細については、 CREATE TABLE Temporary tables をご覧ください。

非分散型および分散型一時テーブル

特定のユースケースに基づいて、#temp テーブルは非分散型と分散型の2種類を作成できます。

  • 非分散型 #temp テーブル(MDFバックアップ)がデフォルトタイプです。 Fabric Data Warehouse で非分散 #temp テーブルを作成および使用するための構文はユーザー テーブルに似ていますが、一時テーブル名の前に # を付ける必要があります。

     CREATE TABLE #table_name (
       Col1 data_type1,
       Col2 data_type2
     );
    
  • 分散型一時テーブル(Parquetバック)は、 DISTRIBUTION=ROUND_ROBIN キーワードを使えば作成できます:

    CREATE TABLE #table_name (
    Col1 data_type1,
    Col2 data_type2
    ) WITH (DISTRIBUTION=ROUND_ROBIN);
    

前のスクリプトでは、 data_type1data_type2、Fabric Data Warehouse でサポートされているデータ型のプレースホルダーです。

分散型一時テーブルを使いましょう。通常のユーザーテーブルと整合しているからです。 無制限のストレージ、データ型対応、T-SQL操作が可能です。

制限事項

  • タイムトラベル クエリのヒントは一時テーブルには影響せず、これらのテーブルは常に最新のデータを返します。 例えば、 FOR TIMESTAMP AS OF クエリヒントは #temp_tableのようにセッションスコープ付きの一時テーブルには影響しません。
  • ALTER TABLEを使って分散型の一時テーブルを変更できますが、MDFバックアップの一時的なテーブルは変更できません。
  • ## で始まるグローバル一時テーブルはサポートされていません。