2016-06-24 9 views
1

テーブルが2つあります。インターリーブされたソートキーを追加して、copyコマンドを使用して大量のデータを読み込みます。ドキュメントには、インターリーブされたソートキーのために、ReuexオプションをVacuumで使用する必要があることが記載されています。これで問題になるのは、それが永遠に取れるテーブルのサイズです。私はちょうど "ソートのみ"オプションを使用して他のソートキーを知ってうまく動作します。ドキュメントで明快さが必要なのは、ソートのみのオプションを使用したバキューム処理が、インターリーブされたソートキーを持つテーブルでうまく動作するかどうかです。誰かがこれが実行可能な解決策であるかどうかを明確にしてもらえますか?Redshiftのインターリーブされたソートキーを無効にする

答えて

0

異なるタイプの使用パターンによって、インターリーブされたソートキーに異なる断片化/希少性の問題が発生するため、質問の回答はテーブルの使い方によって異なります。たとえば、テーブル内のすべての行を共通に削除して再度挿入すると、新しい行が追加されたばかりの人とはまったく異なり、常にソートキー順になります。

使用パターンに関する追加情報を提供できますか?

0

インターリーブされたソートキーでは、VACUUM REINDEXを実行する必要があります。通常はVACUUMよりも時間がかかります。この場合、VACUUM SORT ONLYが実際に動作するとは思わない。 documentationから

インターリーブソートキー列の値の分布を分析し、次に完全真空動作を行います。 VACUUM REINDEXは、インターリーブされたソートキーを分析するために追加のパスを作成するため、VACUUM FULLよりもかなり長い時間がかかります。インターリーブされたソートでは、複合ソートよりも多くの行を再配置する必要があるため、ソートおよびマージ操作はインターリーブ表の方が長くかかります。

完了する前にVACUUM REINDEX操作が終了すると、次のVACUUMは完全なバキューム操作を実行する前に再インデックス操作を再開します。

TOしきい値PERCENTでは、VACUUM REINDEXはサポートされていません。

関連する問題