Les conseils sont les fonctionnalités d'Oracle de base de données qui permettent aux programmeurs d' Oracle disent qu'ils connaissent déjà le meilleur chemin d'exécution pour une requête SQL et fournissent des informations pour cette voie afin que Oracle va acquérir. Les conseils sont simples commandes qui racontent l' optimiseur de faire ce qu'il a dit . Suggérant Conseils
Avant de commencer le travail réel pour répondre à une requête, Oracle regarde autour de lui et prend une décision sur ce qu'il pense être la meilleure façon d' exécuter la requête . C'est l'optimiseur. Il détermine le moyen le plus efficace pour exécuter une instruction SQL après avoir examiné de nombreux traits liés aux objets référencés et les circonstances spécifiées dans la requête.
Même si vous concevez votre application en utilisant le code conçu intelligent, vous pourrez toujours trouver que il ya des indices nécessaires pour les états avant l'optimiseur suit le chemin d'exécution " optimale " . Parfois, l'optimiseur peut avoir besoin d'aide en raison de défauts dans son modèle ou des problèmes indigènes lors de la collecte , le stockage et le traitement de données complexes. Conseils peuvent forcer l'optimiseur à faire le meilleur chemin d'exécution pour une requête, quelle que soit la déficience . Cependant, suggérant indices pour l'optimiseur doit être tentée que lorsque c'est absolument nécessaire et si vous êtes un développeur expérimenté .
Types de Hint
Oracle a trois sortes de trucs .
inscription HintThe indicateur de jointure est utilisée lorsque plus d'une table est utilisée dans une requête. Cette astuce oblige le type de procédure de jointure qui est utilisée . Joint peut être utilisé dans SELECT, UPDATE et DELETE . L' indice LEADER suivant suggère ordres de jointure :
/* + attaque ( [@ queryblock ] tablespec [ tablespec ] ... ) * /
requêtes hinta indicateur de requête est utilisé lorsque la logique spécifique doit être fonctionnel à une requête entière , par opposition à une partie de celui-ci . D'autre part , il n'existe aucun moyen de déterminer quelle partie de la requête doit être utilisé avec le soupçon . Une requête a toujours le SELECT, UPDATE , DELETE, INSERT ou MERGE . L'astuce suivante peut être utilisé avec tous:
select /* + CONSEIL * /namefrom empwhere id = 1 ;
HintHints de table qui spécifient un tableau se réfèrent généralement à des tables dans le DELETE, SELECT ou UPDATE d'une requête dans laquelle le soupçon se produit, ne pas tables à l'intérieur des points de vue véhiculés par l'instruction. L'optimiseur de requêtes prend généralement la meilleure méthode d'optimisation sans indices étant précisé . Cependant, même si vous spécifiez un indicateur de table dans votre code, l'optimiseur de requêtes peut ignorer le soupçon . Les indicateurs de table seront ignorés si le tableau n'est pas choisi par l'optimiseur de requêtes et utilisé dans le plan de requête réussir
select /* + ALL_ROWS * /employee_id , de nom_famille , salaire, job_idfrom empwhere employee_id = 4689 ; . < Br > Photos