Astuces
Vous pouvez utiliser des commentaires dans une instruction SQL pour transmettre des instructions ou des astuces à loptimiseur de base de données Oracle. Loptimiseur utilise ces astuces comme suggestions pour choisir un plan dexécution pour linstruction.
Un bloc dinstructions ne peut avoir quun seul commentaire contenant des astuces, et ce commentaire doit suivre SELECT
, UPDATE
, INSERT
ou DELETE
mot-clé. La syntaxe suivante montre des conseils contenus dans les deux styles de commentaires quOracle prend en charge dans un bloc dinstructions.
{DELETE | INSERT | SELECT | UPDATE} / * + hint] ... * /
ou
{DELETE | INSERT | SELECT | UPDATE} - + hint] ...
où:
-
DELETE
,INSERT
,SELECT
, ouUPDATE
est unDELETE
,INSERT
,SELECT
ouUPDATE
mot-clé qui commence un bloc dinstructions. Les commentaires contenant des indices ne peuvent apparaître quaprès ces mots-clés. -
+ est un signe plus qui amène Oracle à interpréter le commentaire comme une liste dindices. Le signe plus doit suivre immédiatement le délimiteur de commentaire (aucun espace nest autorisé).
-
hint
est lun des conseils abordés dans cette section. Lespace entre le signe plus et lindication est facultatif. Si le commentaire contient plusieurs indices, séparez-les par au moins un espace. -
text
est un autre texte de commentaire qui peut être intercalés avec les indices.
Oracle Database traite les conseils mal orthographiés comme des commentaires normaux et ne renvoie pas derreur.
De nombreux conseils peuvent sappliquer à la fois à des tables spécifiques ou index et plus globalement aux tables dune vue ou aux colonnes qui font partie dindex. Les éléments syntaxiques tablespec
et indexspec
définissent ces indices globaux. Pour savoir quand utiliser les indicateurs globaux et comment Oracle les interprète, reportez-vous au manuel Oracle Database Performance Tuning Guide.
tablespec :: =
Description de lillustration tablespec.gif
indexspec :: =
Description de lillustration indexspec.gif
Tableau 2- 22 répertorie les indices par catégorie fonctionnelle et contient des références croisées à sa syntaxe. (En HTML et PDF, les références croisées sont des hyperliens.) Une liste alphabétique des conseils, y compris la syntaxe, suit le tableau.
Voir aussi:
Oracle Database Performance Tuning Guide pour plus dinformations sur lutilisation des astuces pour optimiser les instructions SQL et sur des informations détaillées sur lutilisation de la syntaxe tablespec
et indexspec
all_rows_hint :: =
Description de lillustration all_rows_hint.gif
append_hint :: =
Description de lillustration append_hint.gif
cache_hint :: =
Description de lillustration cache_hint.gif
cluster_hint :: =
Description de lillustration cluster_hint.gif
cursor_sharing_exact_hint :: =
Description de lillustration cursor_sharing_exact_hint.gif
driving_site_hint :: =
Description de lillustration driving_site_hint.gif
dynamic_sampling_hint :: =
Description de lillustration dynamic_sampling_hint.gif
fact_hint :: =
Description de lillustration fact_hint.gif
first_rows_hint :: =
Description de lillustration first_rows_hint .gif
full_hint :: =
Description de lillustration full_hint.gif
hash_hint :: =
Description de lillustration hash_hint.gif
index_hint :: =
Description de lillustration index_hint.gif
index_asc_hint :: =
Description de lillustration index_asc_hint.gif
index_combine_hint :: =
Description de lillustration index_combine_hint.gif
index_desc_hint :: =
Description de lillustration index_desc_hint.gif
index_ffs_hi nt :: =
Description de lillustration index_ffs_hint.gif
index_join_hint :: =
Description de lillustration index_join_hint.gif
index_ss_hint :: =
Description de lillustration index_ss_hint.gif
index_ss_asc_hint :: =
Description de lillustration index_ss_asc_hint.gif
index_ss_desc_hint :: =
Description de lillustration index_ss_desc_hint.gif
Leading_hint :: =
Description de lillustration Leading_hint.gif
merge_hint :: =
Description de lillustration merge_hint.gif
noappend_hint :: =
Description de lillustration noappend_hint.gif
nocache_hint :: =
Description de lillustration nocache_hint.gif
no_expand_hint :: =
Description de lillustration no_expand_hint.gif
no_fact_hint :: =
Description de lillustration no_fact_hint.gif
no_index_hint :: =
Description de lillustration no_index_hint.gif
no_index_ffs_hint :: =
Description de lillustration no_index_ffs_hint.gif
no_index_ss_hint :: =
Description de lillustration no_index_ss_hint.gif
no_merge_hint :: =
De scription de lillustration no_merge_hint.gif
no_parallel_hint :: =
Description de lillustration no_parallel_hint.gif
Restriction sur NO_PARALLEL
Vous ne pouvez pas paralléliser une requête impliquant une table imbriquée.
no_parallel_index_hint :: =
Description de lillustration no_parallel_index_hint.gif
no_push_pred_hint :: =
Description de lillustration no_push_pred_hint.gif
no_push_subq_hint :: =
Description de lillustration no_push_subq_hint.gif
no_rewrite_hint :: =
Description de lillustration no_rewrite_hint.gif
no_query_transformation_hint :: =
Description de lillustration no_query_transformatn_hint.gif
no_star_transformation_hint :: =
Description de lillustration no_star_transformation_hint.gif
no_unnest_hint :: =
Description de lillustration no_unnest_hint.gif
no_use_hash_hint :: =
Description de lillustration no_use_hash_hint.gif
no_use_merge_hint :: =
Description de lillustration no_use_merge_hint.gif
no_use_nl_hint :: =
Description de lillustration no_use_nl_hint.gif
orders_hint :: =
Description de lillustration commandée_hint.gif
parallel_hint :: =
Description de lillustration parallel_hint.gif
Oracle ignore les indices parallèles sur une table temporaire. Veuillez consulter CREATE TABLE et Oracle Database Concepts pour plus dinformations sur lexécution parallèle.
parallel_index_hint :: =
Description de lillustration parallel_index_hint .gif
pq_distribute_hint :: =
Description de lillustration pq_distribute_hint.gif
Voir Aussi:
Oracle Database Performance Tuning Guide pour les combinaisons autorisées de distributions pour les tables de jointure externe et interne
push_pred_hint :: =
Description de lillustration push_pred_hint.gif
push_subq_hint :: =
Description de lillustration push_subq_hint.gif
qb_name :: =
Description de lillustration qb_name_hint.gif
rewrite_hint :: =
Description de lillustration rewrite_hint.gif
rule_hint :: =
Description de lillust ration rule_hint.gif
spread_min_analysis_hint :: =
Description de lillustration spread_min_analysis_hint.gif
star_transformation_hint :: =
Description de lillustration star_transformation_hint.gif
unnest_hint :: =
Description de lillustration unnest_hint.gif
use_concat_hint :: =
Description de lillustration use_concat_hint.gif
use_hash_hint :: =
Description de lillustration use_hash_hint.gif
use_merge_hint :: =
Description de lillustration use_merge_hint.gif
use_nl_hint :: =
Description de lillustration use_nl_hint.gif
use_nl_with_index_hint :: =
Description de lillustration use_nl_with_index_hint.gif