メニュー
Amazon Redshift
データベース開発者ガイド (API Version 2012年12月1日)

ステップ 3: ソートキーを選択する

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

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

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

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

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

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

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

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

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

    Copy
    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: 分散スタイルを選択する