its affiliates select cast(attr5 as varchar2(1000)) hint from dba_advisor_recommendations t, dba_advisor_rationale r where r.task_id = t.task_id and r.rec_id = t.rec_id and t.task_name = 'SQL_TUNING_1753029874703' and t.type = 'SQL PROFILE' ; SQLプロファイルでは効率のよい実⾏計画にするために、オプティマイザの⾒積も りを直接操作するヒントを利⽤します。この例では、SEL$1クエリブロックで、テー ブル別名Cの表の⾏数を2.7倍にスケーリングするヒントが利⽤されています。 今後、表のデータの中⾝が変わってもこのルールが有効である保証はないため、 緊急回避としてご利⽤ください。 実⾏計画は今回のものを採⽤し、新しい実⾏計画が⽣成されたら保存しておく ために、SPMを利⽤することができます SQL Outlines, SQL Profiles and the Hints you should NOT use https://www.youtube.com/watch?v=nijudqAjlOU
and/or its affiliates SELECT count(*) FROM sh.customers_test c,sh.sales_test s WHERE c.cust_id=s.cust_id AND c.cust_state_province = 'CA' AND c.country_id=52790 AND s.time_id > TO_DATE('01-JAN-21','DD-MON-RR') ; ネステッド・ループ結合では、1番⽬のテーブル(CUSTOMERS_TEST)を WHERE句でフィルタリングした件数ぶん、次の(SALES_TEST)の検索をループ実 ⾏します。 通常は1番⽬のテーブルに選ばれるのは、件数が⼩さくなる場合なのですが、今 回は列グループの統計がないため、⼩さく⾒積もられた結果、選ばれてしまい、性 能が出ない状況になったというストーリーになります この州と国のWHERE句の絞り込みが別々に実施されるため、⾒積もり⾏数が⼩さ くなり、ネステッド・ループ結合の駆動表になってしまう、というケースを扱う