SQL में क्लस्टर इंडेक्स 100% लागत ले रहा है


यदि मैंने क्लस्टर इंडेक्स बनाया है तो इसे अन्य की तुलना में तेजी से काम करना चाहिए।
लेकिन जब मैं निष्पादन योजना की जाँच करता हूँ तो यह मुझे इसकी 100% लागत दिखाता है।

नीचे उदाहरण है

तालिका नंबर एक
कॉलम1
कोल2
कोल3

टेबल1 पर क्लस्टर्ड इंडेक्स LK_table1 बनाएं (Col1,
कोल2,
कॉलम3)

लेकिन मैंने जॉइन में केवल col1 और col3 का उपयोग किया है और क्वेरी में col2 का उपयोग किया गया है।
इसलिए यदि हम अनुक्रमणिका में सभी कॉलमों का उपयोग करते हैं, लेकिन जॉइन में इसका उपयोग नहीं करते हैं, तो यह समस्या पैदा कर रहा है, यही कारण है कि लागत 100% है।

मैंने क्या प्रयास किया है:

अभी तक कुछ भी प्रयास नहीं किया है क्योंकि क्वेरी ठीक से चल रही है, लेकिन जब मैं निष्पादन योजना की जांच करता हूं तो यह मुझे उस क्लस्टर इंडेक्स के लिए 100% लागत दिखाता है।
कृपया मुझे बताएं कि इसकी लागत कैसे कम की जाए।

समाधान 1

सबसे पहले, “100% लागत” का अर्थ केवल यह है कि आपका क्लस्टर्ड इंडेक्स स्कैन/सीक उस क्वेरी की लागत का 100% है। इसका मतलब यह नहीं है कि क्वेरी उस इंडेक्स के बिना होने वाली तुलना में कम कुशल है।

दूसरे, आपको प्रासंगिक तालिकाओं में डेटा की अपेक्षित मात्रा और आपके द्वारा निष्पादित की जाने वाली क्वेरीज़ को ध्यान में रखते हुए अपने अनुक्रमणिका को डिज़ाइन करने की आवश्यकता है। यदि आप किसी विशिष्ट मान या श्रेणी पर फ़िल्टर कर रहे हैं Col2फिर दूसरी टेबल से जुड़ना (Col1, Col3)तो आप करेंगे शायद लगाना चाहते हैं Col2 सूचकांक में प्रथम. लेकिन सुनिश्चित करने के लिए आपको सार्थक डेटा लोड के साथ अपनी वास्तविक तालिकाओं के विरुद्ध परीक्षण करने की आवश्यकता होगी।

コメント

タイトルとURLをコピーしました