FreeProcCache और FreeSystemCache के बीच अंतर


12

वर्तमान में DBCC FREEPROCCACHEजब मैं SQL क्वेरी को चलाने के बीच बफ़र पूल से जानकारी मिटा देना चाहता हूं, तो मैं चलाता हूं। हालाँकि, मैं इस टेक्नेट लेख के संदर्भ में समीक्षा कर रहा था DBCC FREESYSTEMCACHE। क्या कैश करता FREESYSTEMCACHEपोंछ कि FREEPROCCACHEनहीं करता है?

जवाबों:


25

FREESYSTEMCACHE क्या कैश करता है जो FREEPROCCACHE नहीं मिटाता है?

SQL सर्वर में कई सिस्टम कैश उपलब्ध हैं। मैं SQL 2008R2 का उल्लेख कर रहा हूं (जैसा कि मैंने इस पर परीक्षण किया है)।

नीचे दिए गए क्वेरी में उपलब्ध सभी कैश वापस आ जाएंगे:

--- ONLY for Educational purpose. Don't attempt to run on PROD !!

select 'DBCC freesystemcache ('+''''+name+''''+')'  from   sys.dm_os_memory_clerks group by name
-- 155 rows

इसलिए उदाहरण के लिए, आप उन सभी कैश को साफ़ करना चाहते हैं जिन्हें आप चलाएंगे

DBCC FREESYSTEMCACHE ('ALL')

विशिष्ट कैश को साफ़ करने के लिए आप चला सकते हैं

DBCC FREESYSTEMCACHE ('userdatabase') -- cleans cache for specific user database
DBCC FREESYSTEMCACHE ('tempdb')  -- clears cache for tempdb
DBCC FREESYSTEMCACHE ('Temporary Tables & Table Variables') -- clears all the temp table and variables
.. and many more (see above 155 rows returned from sql server 2008R2)

FREEPROCCACHE का उपयोग करते हुए, आप उस विस्तृत स्तर पर उल्लिखित सभी को साफ करने में सक्षम नहीं होंगे।

FREEPROCCACHE ==> BOL से

प्लान कैश से सभी तत्वों को निकालता है, प्लान हैंडल या एसक्यूएल हैंडल को निर्दिष्ट करके प्लान कैश से एक विशिष्ट योजना को हटाता है, या किसी निर्दिष्ट संसाधन पूल से जुड़ी सभी कैश प्रविष्टियों को हटा देता है।

तो अनिवार्य रूप से, आप इसे केवल प्लान कैश से संबंधित योजना हैंडल या या पूल नाम के साथ कैश से विशिष्ट योजनाओं को हटाने की क्षमता के बारे में सोच सकते हैं।

DBCC FREEPROCCACHE के साथ मज़ा ग्लेन बेरी का एक ब्लॉग है

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.