#Temp तालिकाओं का उपयोग करने से दूर जाने और इसके बजाय SPIDs के साथ स्थायी भौतिक तालिकाओं का उपयोग करने के लिए मेरे स्थान पर एक आंदोलन चल रहा है। जब भी कोई पहले एक # तालिका में शामिल होता है, तो अब एक INSERT INTO dbo.MyPermanentTable (SPID, ...) VALUES (@@SPID, ...)
की आवश्यकता होती है - साथ में DELETE FROM dbo.MyPermanentTable WHERE SPID = @@SPID
एक संग्रहीत प्रक्रिया की शुरुआत में बयानों का एक गुच्छा । इसके अतिरिक्त, यह बिना कहे चला जाता है कि कहीं भी इन 'अस्थायी डेटा को संग्रहीत करने के लिए स्थायी तालिकाओं' का उपयोग किया जाता है, किसी को शामिल करने के लिए सावधान रहना होगा WHERE SPID = @@SPID
।
इस अभ्यास के प्रति कदम के पीछे तर्क यह है कि यह सर्वर के समग्र प्रदर्शन में सुधार करेगा, जिस पर प्रश्न चल रहे हैं (I / O को कम करके और tempdb में विवाद)। मैं कई कारणों से इस दृष्टिकोण के लिए उत्सुक नहीं हूं - यह बदसूरत है, संभावित रूप से खतरनाक है और ऐसा लगता है कि यह उन प्रश्नों के प्रदर्शन को अच्छी तरह से नुकसान पहुंचा सकता है जो नई योजना का उपयोग करते हैं।
क्या किसी को भी #temp टेबल को खत्म करने के लिए इस या इसी तरह के दृष्टिकोण के साथ कोई अनुभव है?