Oracle データベース 11g Express Edition に、2 つの JOIN SELECT で 2 つの特定のメソッドを使用して JOIN を作成させようとしていますが、USE_MERGE および USE_NL ヒントを使用して実行しようとすると機能しません。私のSELECTは次のようになります。
SELECT /*+ ORDERED USE_MERGE(sp) USE_NL(p) FULL(s) FULL(sp) FULL(p) */ DISTINCT s.*
FROM s, sp, p
WHERE s.sn = sp.sn AND
p.pn = sp.pn AND
color = 'Rojo';
しかし、私が得ている実際の説明計画は次のとおりです。
私はこれに本当に必死で、すばらしいオラクルのドキュメントを見てきましたが、まだ達成できません。非常によく似たこの例がありますが、私が試している組み合わせでなぜ機能しないのかわかりません。次のコードは、Oracle から提供された例です。
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;
あなたの助けを前もってありがとう:D