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

क्वेरी को कैसे जांचें इंडेक्स का उपयोग कर रहा है

यह वास्तव में जितना दिखता है उससे कहीं अधिक कठिन है - एक विशिष्ट आधुनिक DBMS (और MS SQL सर्वर कोई अपवाद नहीं है) कभी-कभी एक पूर्ण तालिका स्कैन करेगा, भले ही अनुक्रमणिका उपलब्ध हो, केवल इसलिए कि यह कम मात्रा में डेटा पर तेज़ हो सकता है।

उदाहरण:

इतना ही नहीं, DBMS जो निर्णय लेता है, वह इस बात से प्रभावित हो सकता है कि आंकड़े हैं।

सूचकांक का उपयोग किया गया है या नहीं, इसके लिए सबसे विश्वसनीय परीक्षण केवल अपने डेटाबेस को डेटा की प्रतिनिधि मात्रा से भरना है। और फिर निष्पादन योजना देखें . और जब आप इस पर हों, तो क्वेरी के वास्तविक निष्पादन को समय देना न भूलें!

एक सरल उदाहरण:यदि पूरी तालिका एक एकल डेटाबेस पृष्ठ में फिट हो जाती है, तो उस पृष्ठ को लोड करना और अनुक्रमिक रूप से इसके माध्यम से जाना, अनुक्रमणिका वाले पृष्ठ के लिए अतिरिक्त I/O पर प्रतीक्षा करने की तुलना में तेज़ है।



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. PHP 5.5.0 w/माइक्रोसॉफ्ट एसक्यूएल सर्वर 2008 R2 - नहीं sqlsrv_connect ()?

  2. क्या यह कोड SQL इंजेक्शन को रोकता है?

  3. SQL सर्वर 2008:डेटा प्रकार nvarchar को फ्लोट में बदलने में त्रुटि

  4. टी-एसक्यूएल का उपयोग करके उप-स्ट्रिंग की अंतिम घटना की अनुक्रमणिका पाएं

  5. SQL सर्वर पर संग्रहीत कार्यविधि का अनुसूचित रन