手動再クラスタリング--- 非推奨

アカウントで手動の再クラスタリングが引き続き使用可能な場合は、 RECLUSTER 句を指定した ALTER TABLE コマンドを使用して、クラスター化されたテーブルをいつでも手動で再クラスター化できます。

このトピックのセクション:

手動再クラスタリングとは

RECLUSTER 句は、指定されたテーブルの即時再クラスタリングを実行するようSnowflakeに指示します。自動クラスタリングとは異なり、この DML 操作ではアカウントに仮想ウェアハウスが必要であり、操作中はテーブルを ロック します。

また、自動クラスタリングが有効になっていないクラスタ化されたテーブルで DML の重要なアクティビティが一定期間続いた後、目的の結果を得るには、テーブルで手動の再クラスタリングを複数回実行する必要があります。

これらの理由と他の利点のために、手動の再クラスタリングの代わりに 自動クラスタリング を使用することをお勧めします。

ちなみに

一般的な経験則とベストプラクティスとして、クラスタ化されたテーブルで重要な DML を実行した後、手動で再クラスタリングすることをお勧めします。テーブルの クラスタリング情報 を使用して、テーブル上のクラスタリングが DMLによって低下したかどうかを測定できます。

手動再クラスタリングのパフォーマンスへの影響

手動の再クラスタリング中にSnowflakeが実行するグループ化/ソートは、再クラスタリングの実行に使用される仮想ウェアハウスのパフォーマンスに影響を与える可能性があります。

この影響のため、手動の再クラスタリングを実行することを選択した場合、別個の専用ウェアハウスを使用し、ウェアハウスが十分なサイズであることを確認することをお勧めします。

手動再クラスタリングから自動クラスタリングへの切り替え

アカウントで手動の再クラスタリングが引き続き利用できる場合、 自動クラスタリング がアカウントでまだ 有効になっていない 可能性があります。

アカウントで自動クラスタリングを有効にするようリクエストできます。ただし、機能が有効になった の時点から定義されているクラスタ化されたテーブルにのみ影響します。

機能が有効になる前に定義されたクラスタ化されたテーブルの場合、各テーブルの自動クラスタリングを明示的に「再開」する必要があります。 SQL を使用して、特定のテーブルで自動クラスタリングが有効になっているかどうかを判断できます。

詳細については、以下をご参照ください:

テーブルを手動で再クラスタリングする

RECLUSTER 句とともに ALTER TABLE を使用して、クラスタリングキーが定義されているテーブルを手動で再クラスター化します。 WHERE 句を使用して、テーブル内のデータを再クラスター化する条件または範囲を指定できます。

例:

  • テーブル t1 を再クラスター化するには:

    ALTER TABLE t1 RECLUSTER;
    
  • 2016年の最初の週にテーブル t1 に挿入されたデータを再クラスター化するには:

    ALTER TABLE t2 RECLUSTER WHERE CREATE_DATE BETWEEN ('2016-01-01') AND ('2016-01-07');
    

これらの例では、現在のウェアハウス(セッション用)を使用してテーブルを再クラスター化します。手動の再クラスタリングに割り当てられるリソースの量は、ウェアハウスのサイズに基づいています。ウェアハウスが大きいほど、より多くのリソースが再クラスタ化コマンドに割り当てられ、より効果的な再クラスタリングが行われます。

注釈

手動の再クラスタリングは、クラスタ化されたテーブル(つまり、クラスタリングキーが定義されているテーブル)でのみ実行できます。