4
我有一個大(150米+行)的表,它被劃分成使用DATE分區鍵四分之三。甲骨文分區修剪與綁定變量
當我使用類似的查詢表...
SELECT *
FROM LARGE_TABLE
WHERE THE_PARTITION_DATE >= TO_DATE('1/1/2009', 'DD/MM/YYYY')
AND THE_PARTITION_DATE < TO_DATE('1/4/2009', 'DD/MM/YYYY');
...分區修剪的正常工作......在optomiser能夠認識到,只需要看看一個分區(在這種情況是Q1 2009)。解釋計劃顯示「分區範圍單一」
但是,當我將此查詢移動到PL/SQL並將相同日期作爲變量傳遞時,計劃顯示爲「PARTITION RANGE(ITERATOR)」... optomiser是無法理解它只需要看單個部分(可能是因爲它在評估計劃時沒有實際值)。
我發現圓形迄今唯一的解決方法是代碼,包括在SQL字符串,這樣的分區修剪工作正確的日期的EXECUTE IMMEDIATE。
有沒有更好的方法?
所以它確實。沒有發現這一點。謝謝。 – cagcowboy 2010-07-19 20:18:13