अन्य उत्तर नहीं चलने के कारणों के बारे में सही हैं DBCC FREEPROCCACHE
। हालाँकि, ऐसा करने के कुछ कारण भी हैं:
- संगति
यदि आप दो अलग-अलग प्रश्नों या प्रक्रियाओं की तुलना करना चाहते हैं, जो अलग-अलग तरीकों से एक ही काम करने का प्रयास कर रहे हैं, तो वे एक ही पृष्ठ से टकरा सकते हैं। यदि आप क्वेरी # 1 तो क्वेरी # 2 चलाते हैं, तो दूसरा केवल बहुत तेजी से हो सकता है क्योंकि उन पृष्ठों को पहले क्वेरी द्वारा कैश किया गया था। यदि आप प्रत्येक निष्पादन से पहले कैश को साफ़ करते हैं, तो वे एक समान स्तर पर शुरू होते हैं।
यदि आप हॉट-कैश प्रदर्शन का परीक्षण करना चाहते हैं, तो कई बार प्रश्नों को चलाना सुनिश्चित करें, बारी-बारी से और पहले जोड़े को छोड़ दें। परिणाम औसत।
- सबसे खराब मामला
मान लें कि आपके पास एक क्वेरी है जो एक हॉट कैश के खिलाफ एक सेकंड लेती है, लेकिन एक मिनट के लिए एक ठंडा कैश। एक ऑप्टिमाइज़ेशन जो इन-मेमोरी क्वेरी को 20% धीमा बनाता है, लेकिन IO- बाउंड क्वेरी 20% तेज़ी से बड़ी जीत हो सकती है: सामान्य ऑपरेशन के दौरान, कोई भी सामान्य परिस्थितियों में अतिरिक्त 200 ms को नोटिस नहीं करेगा, लेकिन अगर कोई क्वेरी को बाध्य करता है डिस्क के खिलाफ चलाने, 60 के बजाय 48 सेकंड लेने से बिक्री बच सकती है।
यह मेमोरी के दस गीगाबाइट्स और अपेक्षाकृत तेजी से सैन और एसएसडी स्टोरेज के साथ आधुनिक सिस्टम पर चिंता का कम है, लेकिन यह अभी भी मायने रखता है। यदि कुछ विश्लेषक आपके OLTP डेटाबेस के खिलाफ एक विशाल टेबल स्कैन क्वेरी चलाता है, जो आपके बफर कैश के आधे हिस्से को मिटा देता है, तो स्टोरेज-कुशल क्वेरी आपको जल्द ही वापस मिल जाएगी।
DBCC FLUSHPROCINDB
: DBCC स्टेटमेंट में गलत मापदंडों की संख्या दी गई थी।