

# メタデータテーブルのクエリパフォーマンスの最適化
<a name="metadata-tables-optimizing-query-performance"></a>

S3 Metadata は Apache Iceberg テーブル形式に基づいているため、特定の時間範囲を使用することで、ジャーナルテーブルクエリのパフォーマンスと[コスト](#metadata-tables-optimizing-query-performance)を最適化できます。

例えば、次の 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']
```

インベントリテーブルに対するクエリのパフォーマンスを向上させるには、必要な最小限の列に対してのみクエリを実行してください。