Sqlserver
 sql >> डेटाबेस >  >> RDS >> Sqlserver

यह क्वेरी उचित अनुक्रमणिका का उपयोग क्यों नहीं करती है?

यह नहीं जानता कि जब यह क्वेरी संकलित करता है तो चर का मान क्या होगा। आप OPTION (RECOMPILE) को आजमा सकते हैं .

मुझे लगता है कि AND . का जोड़ क्वेरी में क्लॉज (भले ही तार्किक रूप से यह इसे और अधिक चयनात्मक नहीं बनाता है) ऑप्टिमाइज़र को अधिक चयनात्मकता के साथ क्वेरी का अनुमान लगाने में गुमराह करना चाहिए जिससे आपको वह योजना मिल सके जो आप चाहते थे!

आप टिप्पणियों में कहते हैं कि ExceptionDate = ExceptionDate . के बिना संस्करण अनुमानित है 88234.8 पंक्तियों और संस्करण के साथ 8823.48

आम तौर पर प्रयोग करने योग्य आँकड़ों की अनुपस्थिति में SQL सर्वर विधेय में तुलना ऑपरेटर के प्रकार पर निर्भर अनुमान पर वापस आ जाता है।

यह मानता है कि एक > उदाहरण के लिए विधेय 30% पंक्तियों को लौटाएगा और यह कि एक = भविष्यवाणी 10% पंक्तियों को वापस कर देगी, ऐसा लगता है कि यह सीधे पहले अनुमान के परिणाम पर लागू हो रहा है। दिलचस्प है कि यह इस तथ्य पर ध्यान नहीं देता है कि बराबर यहां कॉलम के खिलाफ है!

सी.एफ. सांख्यिकी प्रबंधन के लिए सर्वोत्तम अभ्यास - प्रश्नों में स्थानीय चर के उपयोग से बचें



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. एकाधिक क्लाइंट के साथ डीबी कतार के रूप में SQL सर्वर का उपयोग करना

  2. SQL सर्वर मॉनिटरिंग के लिए जिम्मेदार DBA को प्रभावित करने वाले शीर्ष तीन रुझान

  3. MSSQL त्रुटि 'अंतर्निहित प्रदाता ओपन पर विफल'

  4. SQL सर्वर मौजूदा तालिका में चुनें

  5. SQL सर्वर में कुछ वर्ण के बाद और पहले सब कुछ प्राप्त करें