- 1つの表またはビューで指定するヒント FULL, INDEX or USE_NLなど マルチ表 - 1つ以上の表またはビューを指定するヒント LEADING or ORDEREDなど 問合せブロック - 単一の問合せブロックに対して操作するのヒント STAR_TRANSFORMATION or UNNESTなど 文 - SQL文全体に適用するヒント ALL_ROWS or OPTIMIZER_FEATURES_ENABLEなど 結合に関するヒントにも関わらず、単一表?と思われた方、本日は こちらの結合操作に関わるヒントは単一表指定という話をメインで行 います
/*+ USE_NL(s) */ c.cust_last_name, SUM(s.amount_sold) FROM customers c, sales s WHERE c.cust_id = s.cust_id AND c.cust_city = 'Los Angeles' AND c.cust_state_province = 'CA' AND s.time_id='30-SEP-22' GROUP BY c.cust_last_name; ※CUSTOMERSとSALESの索引は削除した状態してあります
SELECT /*+ LEADING(c s) USE_NL(s) */ c.cust_last_name, SUM(s.amount_sold) FROM customers c, sales s WHERE c.cust_id = s.cust_id AND c.cust_city = 'Los Angeles' AND c.cust_state_province = 'CA' AND s.time_id='30-SEP-22' GROUP BY c.cust_last_name;