essayez de spécifier tous les conseils dans un seul bloc de commentaire, comme le montre cet exemple de la merveilleuse documentation Oracle (http://download.oracle.com/docs/cd/B19306_01/server.102/b14211/hintsref.htm).
16.2.1 Spécification d'un jeu complet des Conseils
Lorsque vous utilisez des notes, dans certains cas, vous devrez peut-être de spécifier un ensemble complet de conseils afin d'assurer le optimal plan d'exécution. Par exemple, si vous avez une question très complexe, qui se compose de plusieurs jointures de table, et si vous ne spécifiez que l'indicateur INDEX pour une table donnée , l'optimiseur a besoin pour déterminer l'accès restant chemins à utiliser , ainsi que les méthodes de jointure correspondantes . Par conséquent, même si vous avez donné l'indice INDEX, l'optimiseur peut-être pas nécessairement utiliser ce soupçon, car l'optimiseur aurait déterminé que l'indice demandé ne peut pas être utilisé en raison de la jointure des méthodes et des chemins d'accès sélectionnés par la optimiseur. Dans l'exemple 16-1, l'indicateur LEADING spécifie l'ordre de jointure exact utilisé; les méthodes de jointure à utiliser sur les différentes tables sont également spécifiées.
Exemple 16-1 Spécification d'un ensemble complet de Conseils
SELECT /*+ LEADING(e2 e1) USE_NL(e1) INDEX(e1 emp_emp_id_pk)
USE_MERGE(j) FULL(j) */
e1.first_name, e1.last_name, j.job_id, sum(e2.salary) total_sal
FROM employees e1, employees e2, job_history j
WHERE e1.employee_id = e2.manager_id
AND e1.employee_id = j.employee_id
AND e1.hire_date = j.start_date
GROUP BY e1.first_name, e1.last_name, j.job_id ORDER BY total_sal;
Si quelqu'un s'en soucie, j'ai essayé ceci et le plan d'explication a donné le même coût qu'avant. Qui sait si le CBO va vraiment l'utiliser! : -/ –
Dave, J'ai certains RTFMed ce chapitre, mais jamais tombé sur ce bon exemple. Désolé pour le poste stupide; J'essaie vraiment de ne pas faire ça!: -/ Merci, Ragoût –