ヒント
SQLステートメントでコメントを使用して、OracleDatabaseオプティマイザに命令またはヒントを渡すことができます。オプティマイザは、これらのヒントをステートメントの実行プランを選択するための提案として使用します。
ステートメントブロックには、ヒントを含むコメントを1つだけ含めることができ、そのコメントはSELECT
、UPDATE
、INSERT
、またはDELETE
キーワード。次の構文は、Oracleがステートメントブロック内でサポートする両方のスタイルのコメントに含まれるヒントを示しています。
{DELETE | INSERT | SELECT | UPDATE} / * +ヒント] ... * /
または
{DELETE | INSERT | SELECT | UPDATE}-+ヒント] ...
ここで:
-
DELETE
、INSERT
、SELECT
、またはUPDATE
はDELETE
、INSERT
、SELECT
、またはステートメントブロックを開始するUPDATE
キーワード。ヒントを含むコメントは、これらのキーワードの後にのみ表示できます。 -
+は、Oracleがコメントをヒントのリストとして解釈するようにするプラス記号です。コメント区切り文字の直後にプラス記号を付ける必要があります(スペースは使用できません)。
-
hint
は、で説明されているヒントの1つです。このセクション。プラス記号とヒントの間のスペースはオプションです。コメントに複数のヒントが含まれている場合は、ヒントを少なくとも1つのスペースで区切ります。 -
text
は、他のコメントテキストです。ヒントが散在しています。
Oracle Databaseは、スペルミスのあるヒントを通常のコメントとして扱い、エラーを返しません。
多くのヒントは、両方を特定のテーブルに適用できます。またはインデックス、さらにグローバルにビュー内のテーブルまたはインデックスの一部である列に。構文要素tablespec
およびindexspec
は、これらのグローバルヒントを定義します。グローバルヒントを使用するタイミングとOracleがそれらを解釈する方法については、 『Oracle Databaseパフォーマンスチューニングガイド』を参照してください。
tablespec :: =
イラストの説明tablespec.gif
indexspec :: =
イラストの説明indexspec.gif
表2- 22は、機能カテゴリごとのヒントをリストし、その構文への相互参照を含んでいます。 (HTMLおよびPDFでは、相互参照はハイパーリンクです。)構文を含むヒントのアルファベット順のリストが表の後に続きます。
関連項目:
ヒントを使用してSQL文を最適化する方法の詳細、およびtablespec
およびindexspec
構文の使用に関する詳細情報については、 『Oracle Databaseパフォーマンス・チューニング・ガイド』を参照してください。
all_rows_hint :: =
図の説明all_rows_hint.gif
append_hint :: =
図の説明append_hint.gif
cache_hint :: =
説明イラストの説明cache_hint.gif
cluster_hint :: =
イラストの説明cluster_hint.gif
cursor_sharing_exact_hint :: =
図の説明cursor_sharing_exact_hint.gif
Driving_site_hint :: =
説明イラストの説明driving_site_hint.gif
dynamic_sampling_hint :: =
イラストの説明dynamic_sampling_hint.gif
fact_hint :: =
イラストの説明fact_hint.gif
first_rows_hint :: =
イラストの説明first_rows_hint .gif
full_hint :: =
イラストの説明full_hint.gif
hash_hint :: =
イラストの説明hash_hint.gif
index_hint :: =
イラストの説明index_hint.gif
index_asc_hint :: =
イラストの説明index_asc_hint.gif
index_combine_hint :: =
イラストの説明index_combine_hint.gif
index_desc_hint :: =
イラストの説明index_desc_hint.gif
index_ffs_hi nt :: =
イラストの説明index_ffs_hint.gif
index_join_hint :: =
イラストの説明index_join_hint.gif
index_ss_hint :: =
イラストの説明index_ss_hint.gif
index_ss_asc_hint :: =
イラストの説明index_ss_asc_hint.gif
index_ss_desc_hint :: =
イラストindex_ss_desc_hintの説明。gif
Leading_hint :: =
イラストの説明leading_hint.gif
merge_hint :: =
イラストの説明merge_hint.gif
noappend_hint :: =
イラストの説明noappend_hint.gif
nocache_hint :: =
イラストの説明nocache_hint.gif
no_expand_hint :: =
イラストの説明no_expand_hint.gif
no_fact_hint :: =
イラストの説明no_fact_hint.gif
no_index_hint :: =
イラストの説明no_index_hint.gif
no_index_ffs_hint :: =
イラストの説明no_index_ffs_hint.gif
no_index_ss_hint :: =
イラストの説明no_index_ss_hint.gif
no_merge_hint :: =
Deイラストの説明no_merge_hint.gif
no_parallel_hint :: =
イラストの説明no_parallel_hint.gif
NO_PARALLELの制限
ネストされたテーブルを含むクエリを並列化することはできません。
no_parallel_index_hint :: =
図の説明no_parallel_index_hint.gif
no_push_pred_hint :: =
イラストの説明no_push_pred_hint.gif
no_push_subq_hint :: =
イラストの説明no_push_subq_hint.gif
no_rewrite_hint :: =
イラストの説明no_rewrite_hint.gif
no_query_transformation_hint :: =
イラストの説明no_query_transformatn_hint.gif
no_star_transformation_hint :: =
イラストの説明no_star_transformation_hint.gif
no_unnest_hint :: =
イラストの説明no_unnest_hint.gif
no_use_hash_hint :: =
イラストの説明no_use_hash_hint.gif
no_use_merge_hint :: =
イラストの説明no_use_merge_hint.gif
no_use_nl_hint :: =
イラストの説明no_use_nl_hint.gif
ordered_hint :: =
イラストの説明ordered_hint.gif
parallel_hint :: =
図の説明parallel_hint.gif
Oracleは、一時テーブルの並列ヒントを無視します。並列実行の詳細については、CREATETABLEおよびOracleDatabaseConceptsを参照してください。
parallel_index_hint :: =
図の説明parallel_index_hint .gif
pq_distribute_hint :: =
図の説明pq_distribute_hint.gif
参照また:
外部結合テーブルと内部結合テーブルの分散の許可された組み合わせに関するOracleDatabase Performance Tuning Guide
push_pred_hint :: =
イラストの説明push_pred_hint.gif
push_subq_hint :: =
イラストの説明push_subq_hint.gif
qb_name :: =
図の説明qb_name_hint.gif
rewrite_hint :: =
イラストの説明rewrite_hint.gif
rule_hint :: =
イラストの説明ration rule_hint.gif
Spread_min_analysis_hint :: =
イラストの説明spread_min_analysis_hint.gif
star_transformation_hint :: =
イラストの説明star_transformation_hint.gif
unnest_hint :: =
イラストの説明unnest_hint.gif
use_concat_hint :: =
イラストの説明use_concat_hint.gif
use_hash_hint :: =
イラストの説明use_hash_hint.gif
use_merge_hint :: =
イラストの説明use_merge_hint.gif
use_nl_hint :: =
イラストの説明use_nl_hint.gif
use_nl_with_index_hint :: =
イラストの説明use_nl_with_index_hint.gif