थोड़ी खोज के बाद, मैं इस प्रश्न का उत्तर देने के लिए Microsoft के दस्तावेज़ से एक ठोस और संतोषजनक स्रोत नहीं खोज पाया। वहाँ adhoc / ad-hoc / ad hoc के कई अच्छे तृतीय-पक्ष विवरण और परिभाषाएँ हैं, लेकिन इस प्रश्न की विशिष्टता के लिए मुझे लगता है कि स्रोत के करीब एक आदर्श है।
इस एसओ पोस्ट की तरह पिछली जेनेरिक (लेकिन अभी भी सटीक) परिभाषाओं को आगे बढ़ाते हुए (धन्यवाद SqlWorldWide), अगर हम देखते हैं कि प्रलेखन विषय पर क्या कहता है, तो यह उस बात से सहमत है जो आपने उल्लिखित परिभाषा के आधार पर निष्पादित के बारे में बताई है। , मुझे लगता है कि हम इसे तथ्य के रूप में ले सकते हैं।
तदर्थ वर्कफ़्लोज़ के लिए अनुकूलन पर लेख कहता है,
जब यह विकल्प 1 पर सेट होता है, तो डेटाबेस इंजन एक छोटे संकलित योजना स्टब को संग्रहीत करता है जब पूर्ण संकलित योजना के बजाय पहली बार एक बैच संकलित किया जाता है। यह मेमोरी के दबाव को राहत देने में मदद करता है ताकि प्लान कैश को संकलित योजनाओं से भरा नहीं हो सके। संकलित योजना स्टब से डेटाबेस इंजन को यह पहचानने की अनुमति मिलती है कि यह तदर्थ बैच पहले संकलित किया गया है, लेकिन केवल एक संकलित योजना स्टब को संग्रहीत किया गया है, इसलिए जब इस बैच को फिर से संकलित (संकलित या निष्पादित) किया जाता है, तो डेटाबेस इंजन बैच को संकलित करता है ... और पूर्ण संकलित योजना को कैश में जोड़ता है।
तो यह प्रतीत होता है कि तदर्थ क्वेरी सर्वर कॉन्फ़िगरेशन विकल्प भी एकल निष्पादन की परिभाषा को तदर्थ की परिभाषा के रूप में उपयोग करता है। यदि क्वेरी निष्पादित होती रहती है और उसी योजना को उत्पन्न करती है तो इसे अब ऐसा नहीं माना जाएगा।
क्वेरी स्टोर के लिए सर्वोत्तम प्रथाओं पर लेख भी इसके साथ संरेखित करता है,
Sys.query_store_query में प्रविष्टियों की कुल संख्या के साथ अलग-अलग query_hash मानों की संख्या की तुलना करें। यदि अनुपात 1 के करीब है तो आपका तदर्थ कार्यभार अलग-अलग प्रश्न उत्पन्न करता है।
यह, निश्चित रूप से, उन प्रश्नों के लिए है जो पहले से ही संग्रहीत प्रक्रियाओं, पैरामीटराइज़्ड आदि के रूप में उपयोग नहीं किए जाते हैं, क्योंकि उन्हें पहचाना और उचित रूप से बल्ले से ठीक किया जा सकता है।
तो इन सब के आधार पर हम कह सकते हैं कि यदि किसी प्रश्न को तदर्थ माना जाता है:
- यह पैरामीटर नहीं है
- यह प्रोग्रामेटिक रूप से डेटाबेस में संग्रहीत नहीं है (संग्रहित प्रोक्योर, फंक्शन, ट्रिगर इत्यादि)
- एक ही क्वेरी को केवल एक बार निष्पादित किया जाता है या एक ही क्वेरी को कई बार निष्पादित किया जाता है, लेकिन प्रत्येक बाद के निष्पादन के लिए एक अलग क्वेरी प्लान बनाता है।