最良のソートキーの選択 - Amazon Redshift

最良のソートキーの選択

Amazon Redshift は、ソートキーに応じたソート順でデータをディスクに保存します。Amazon Redshift クエリオプティマイザは、最適なクエリプランを決定する際にソート順を使用します。

注記

自動テーブル最適化を使用する場合、テーブルのソートキーを選択する必要はありません。詳細については、「自動テーブル最適化の使用」を参照してください。

最良のアプローチのために、以下にいくつかの提案を示します。

  • Amazon Redshift で適切なソート順を選択するには、ソートキーとして AUTO と入力します。

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

    クエリは時間範囲外のブロック全体をスキップできるので、効率性が高まります。

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

    Amazon Redshift は、その列のブロック全体のデータを読み込む必要がありません。これは、各ブロックに保存された列の最小値と最大値を追跡し、述語範囲に当てはまらないブロックをスキップできるためです。

  • テーブルを頻繁に結合する場合は、結合列をソートキーとディストリビューションキーの両方として指定します。

    これにより、クエリオプティマイザは、より時間のかかるハッシュ結合ではなくソートマージ結合を選択できるようになります。データが結合キーですでにソートされているので、クエリオプティマイザはソートマージ結合のソートフェーズをバイパスできます。