メタデータテーブルのクエリパフォーマンスの最適化
S3 Metadata は Apache Iceberg テーブル形式に基づいているため、特定の時間範囲を使用することで、ジャーナルテーブルクエリのパフォーマンスとコストを最適化できます。
例えば、次の SQL クエリは、S3 汎用バケット内の新しいオブジェクトの機密レベルを提供します。
SELECT key, object_tags['SensitivityLevel'] FROM "b_
general-purpose-bucket-name
"."journal" WHERE record_type = 'CREATE' GROUP BY object_tags['SensitivityLevel']
このクエリはジャーナルテーブル全体をスキャンするため、実行に時間がかかる場合があります。パフォーマンスを向上させるには、特定の時間範囲に焦点を絞る record_timestamp
列を含めることができます。また、完全修飾テーブル名を使用することをお勧めします。これは、汎用バケットの [メタデータ] タブで、メタデータ設定の詳細ページの Amazon S3 コンソールにあります。以下は、過去 1 か月の新しいオブジェクトを調べる、以前のクエリが更新されたバージョンです。
SELECT key, object_tags['SensitivityLevel'] FROM b_
general-purpose-bucket-name
"."aws-s3.b_general-purpose-bucket-name
.journal" WHERE record_type = 'CREATE' AND record_timestamp > (CURRENT_TIMESTAMP – interval '1' month) GROUP BY object_tags['SensitivityLevel']
インベントリテーブルに対するクエリのパフォーマンスを向上させるには、必要な最小限の列に対してのみクエリを実行してください。