बड़ी मात्रा में डेटा के साथ तालिकाओं की गणना बहुत धीमी हो सकती है, कभी-कभी इसमें कुछ मिनट लगते हैं; यह एक व्यस्त सर्वर पर डेडलॉक भी उत्पन्न कर सकता है। मैं वास्तविक मूल्य प्रदर्शित करना चाहता हूं, NOLOCK एक विकल्प नहीं है।SQL सर्वर गणना धीमी है
मेरे द्वारा उपयोग किए जाने वाले सर्वर SQL Server 2005 या 2008 मानक या एंटरप्राइज़ हैं - यदि यह महत्वपूर्ण है। मैं कल्पना कर सकता हूं कि SQL सर्वर प्रत्येक तालिका के लिए गणना बनाए रखता है और यदि कोई WHERE क्लॉज नहीं है तो मैं उस नंबर को बहुत तेज़ी से प्राप्त कर सकता हूं, है ना?
उदाहरण के लिए:
SELECT COUNT(*) FROM myTable
तुरंत सही मान के साथ वापस आ जाएगी। क्या मुझे अद्यतन होने के आंकड़ों पर भरोसा करने की ज़रूरत है?
एक [क्वेरी निष्पादन योजना] जाओ (http://stackoverflow.com/questions/7359702/how-do -आई-प्राप्त-ए-क्वेरी-निष्पादन-योजना), तो हम बात कर सकते हैं ...(आंकड़े का उपयोग करने के बजाय 'SELECT COUNT' तालिका से सीधे पूछताछ करता है, क्योंकि आंकड़े पुराने हो सकते हैं) – Justin
बेवकूफ सवाल, लेकिन क्या आपके पास एक अनुक्रमणिका है? – Kermit
@FreshPrinceOfSO यदि आप 'आईडी' (बिगिन, प्राथमिक कुंजी, पहचान विनिर्देश = सत्य) पर भरोसा करते हैं तो यह अभी भी धीमा है। – ANeves