ステップ3: ソートキーの選択 - Amazon Redshift

「翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。」

ステップ3: ソートキーの選択

テーブルを作成するとき、1 つ以上の列をソートキーとして指定できます。Amazon Redshift は、ソートキーに応じたソート順でデータをディスクに格納します。データのソート方法はディスク I/O、列指向の圧縮、クエリパフォーマンスに重要な影響を与えます。

このステップでは、以下のベストプラクティスに基づいて SSB テーブルのソートキーを選択します。

  • 最新のデータが最も頻繁にクエリ処理される場合は、タイムスタンプ列をソートキーの主要な列として指定します。

  • 1 つの列に対して範囲フィルタリングまたは等価性フィルタリングを頻繁に実行する場合は、その列をソートキーとして指定します。

  • (ディメンション) テーブルを頻繁に結合する場合は、結合列をソートキーとして指定します。

ソートキーを選択するには

  1. クエリを評価して、結果のフィルタリングに使用されるタイムスタンプ列を見つけます。

    たとえば、LINEORDER では lo_orderdate を使用する等価フィルターが頻繁に使用されます。

    where lo_orderdate = d_datekey and d_year = 1997
  2. 範囲フィルターと等価フィルターで使用される列を探します。たとえば、LINEORDER では範囲フィルタリングに lo_orderdate も使用されます。

    where lo_orderdate = d_datekey and d_year >= 1992 and d_year <= 1997
  3. 最初の 2 つのベストプラクティスに基づいて、lo_orderdate をソートキーに使用することをお勧めします。

    チューニングの表で、LINEORDER のソートキーとして lo_orderdate を指定します。

  4. 残りのテーブルはディメンションであるため、3 つ目のベストプラクティスに基づいて、それらのプライマリキーをソートキーとして指定します。

以下のチューニングの表に示しているのは、選択したソートキーです。「分散スタイル」列は「ステップ4: 配布スタイルを選択」で入力します。

テーブル名 ソートキー 分散スタイル
LINEORDER lo_orderdate
PART p_partkey
CUSTOMER c_custkey
SUPPLIER s_suppkey
DWDATE d_datekey

次のステップ

ステップ4: 配布スタイルを選択