我試圖優化查詢性能,並不得不求助於使用優化器提示。但是我從來沒有學過優化器是否會一次使用多個提示。Oracle優化器會在同一個SELECT中使用多個提示嗎?
例如
SELECT /*+ INDEX(i dcf_vol_prospect_ids_idx)*/
/*+ LEADING(i vol) */
/*+ ALL_ROWS */
i.id_number,
...
FROM i_table i
JOIN vol_table vol on vol.id_number = i.id_number
JOIN to_a_bunch_of_other_tables...
WHERE i.solicitor_id = '123'
AND vol.solicitable_ind = 1;
解釋計劃顯示相同的成本,但我知道這只是一個估計。
請假定所有表格和索引統計都已經計算完畢。僅供參考,索引dcf_vol_prospect_ids_idx位於i.solicitor_id列中。
謝謝,
燉
如果有人在乎,我試過這個,解釋計劃給出了和以前一樣的成本。誰知道CBO是否會真正使用它! : -/ – 2009-01-07 20:57:41
Dave, 我確信RTFMed這一章,但從未偶然發現過這個偉大的例子。對於愚蠢的帖子感到抱歉;我真的不想這麼做!: -/ 感謝, 燉 – 2009-01-07 20:58:20