अपडेट करें: कॉल कॉलम को न्यूल नहीं बनाने का प्रयास करें। यही कारण है कि यह सूचकांक का उपयोग नहीं कर रहा है। जब यह शून्य न हो, तो यह रही योजना।
SELECT STATEMENT, GOAL = ALL_ROWS 69 10 30
HASH GROUP BY 69 10 30
INDEX FAST FULL SCAN SANDBOX TEST_INDEX 56 98072 294216
यदि ऑप्टिमाइज़र यह निर्धारित करता है कि इंडेक्स का उपयोग नहीं करना अधिक कुशल है (शायद क्वेरी को फिर से लिखने के कारण), तो ऐसा नहीं होगा। ऑप्टिमाइज़र संकेत बस यही हैं, अर्थात्, Oracle को एक इंडेक्स बताने के लिए संकेत जो आपको पसंद यह उपयोग करने के लिए। आप उन्हें सुझाव के रूप में सोच सकते हैं। लेकिन अगर ऑप्टिमाइज़र यह निर्धारित करता है कि इंडेक्स का उपयोग नहीं करना बेहतर है (फिर से, उदाहरण के लिए क्वेरी रीराइट के परिणामस्वरूप), तो यह नहीं होने वाला है।
इस लिंक को देखें:http://download। oracle.com/docs/cd/B19306_01/server.102/b14211/hintsref.htm "इन संकेतों में से किसी एक को निर्दिष्ट करने से ऑप्टिमाइज़र निर्दिष्ट एक्सेस पथ का चयन करता है, यदि एक्सेस पथ किसी इंडेक्स या क्लस्टर के अस्तित्व और SQL कथन के वाक्य रचनात्मक निर्माण के आधार पर उपलब्ध है। यदि कोई संकेत अनुपलब्ध पहुंच पथ निर्दिष्ट करता है, तब अनुकूलक इसे अनदेखा कर देता है।"
चूंकि आप एक गिनती (*) ऑपरेशन चला रहे हैं, इसलिए अनुकूलक ने यह निर्धारित किया है कि आपकी अनुक्रमणिका का उपयोग करने के बजाय पूरी तालिका और हैश को स्कैन करना अधिक कुशल है।
संकेतों पर एक और आसान लिंक यहां दिया गया है:http://www.dba-oracle.com/t_hint_ignored। एचटीएम