

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

# ヒント
<a name="sql-commands-hints-spark"></a>

SQL 分析のヒントは、 のクエリ実行戦略をガイドする最適化ディレクティブを提供するため AWS Clean Rooms、クエリのパフォーマンスを向上させ、コンピューティングコストを削減できます。ヒントは、Spark 分析エンジンが実行計画を生成する方法を提案します。

## 構文
<a name="hints-syntax"></a>

```
SELECT /*+ {{hint_name}}({{parameters}}), {{hint_name}}({{parameters}}) */ {{column_list}}
FROM {{table_name}};
```

ヒントは、コメント形式の構文を使用して SQL クエリに埋め込まれ、SELECT キーワードの直後に配置する必要があります。

## サポートされているヒントタイプ
<a name="supported-hint-types"></a>

AWS Clean Rooms は、結合ヒントとパーティション化ヒントの 2 つのカテゴリのヒントをサポートしています。

**Topics**
+ [結合ヒント](join-hints.md)
+ [パーティション分割のヒント](partitioning-hints.md)

## 複数のヒントを組み合わせる
<a name="combining-multiple-hints"></a>

1 つのクエリで複数のヒントを指定するには、カンマで区切ります。

```
-- Combine join and partitioning hints
SELECT /*+ BROADCAST(d), REPARTITION(8) */ e.name, d.dept_name
FROM employees e JOIN departments d ON e.dept_id = d.id;

-- Multiple join hints
SELECT /*+ BROADCAST(s), MERGE(d) */ *
FROM employees e
JOIN students s ON e.id = s.id
JOIN departments d ON e.dept_id = d.id;

-- Hints within separate hint blocks within the same query
SELECT /*+ REPARTITION(100) */ /*+ COALESCE(500) */ /*+ REPARTITION_BY_RANGE(3, c) */ * FROM t;
```

## 考慮事項と制限事項
<a name="hints-usage-notes"></a>
+ ヒントは最適化の提案であり、コマンドではありません。クエリオプティマイザは、リソースの制約または実行条件に基づいてヒントを無視することがあります。
+ ヒントは、CreateAnalysisTemplate API と StartProtectedQuery APIs。
+ ヒントは SELECT キーワードの直後に配置する必要があります。
+ 名前付きパラメータはヒントではサポートされず、例外がスローされます。
+ REPARTITION amd REPARTITION\_BY\_RANGE ヒントの列名は、入力スキーマに存在する必要があります。
+ REBALANCE ヒントの列名は SELECT 出力リストに表示される必要があります。
+ 数値パラメータは 1～2147483647 の正の整数である必要があります。*1e1* のような科学的表記はサポートされていません
+ ヒントは、差分プライバシー SQL クエリではサポートされていません。
+ SQL クエリのヒントは、PySpark ジョブではサポートされていません。PySpark ジョブで実行プランのディレクティブを提供するには、データフレーム API を使用します。詳細については、[「Apache Spark DataFrame API Docs](https://spark.apache.org/docs/latest/api/python/reference/pyspark.sql/api/pyspark.sql.DataFrame.hint.html)」を参照してください。