यह देखते हुए कि ऑप्टिमाइज़र को अपनी ज़रूरत के सभी समय नहीं लग सकते (इसे निष्पादन समय को कम करना होगा और इसमें योगदान नहीं करना होगा) सभी संभावित निष्पादन योजनाओं का पता लगाने के लिए इसे कभी-कभी काट दिया जाता है।
मैं सोच रहा था कि क्या इसे ओवरराइड किया जा सकता है ताकि आप आशावादी को हर समय जरूरतों (या एक निश्चित मात्रा में मिलीसेकंड) दे सकें।
मुझे इसकी आवश्यकता नहीं है (एटीएम) लेकिन मैं एक ऐसे परिदृश्य की कल्पना कर सकता हूं जहां एक जटिल प्रश्न को एक तंग लूप में निष्पादित किया जाता है और आप इष्टतम योजना के साथ आना चाहते हैं और इसे हाथ से पहले कैश करना चाहते हैं।
बेशक, यह आपके पास एक तंग लूप है जिसे आपको क्वेरी को फिर से लिखना चाहिए ताकि यह चला जाए लेकिन मेरे साथ सहन करें।
यह जिज्ञासा से अधिक सवाल है और यह देखने के लिए भी कि क्या कभी-कभी एक छोटे से परिचालित अनुकूलन और एक पूर्ण के बीच अंतर होता है।
यह पता चला है कि आप अनुकूलक ध्वज 2301 के साथ अधिक समय दे सकते हैं। यह बिल्कुल वैसा नहीं है जैसा मैं पूछ रहा था बल्कि यह करीब आता है।
इस पर मुझे मिली सबसे अच्छी जानकारी इयान जोस द्वारा SQL Server 2005 SP1 में क्वेरी प्रोसेसर मॉडलिंग एक्सटेंशन में है ।
देखभाल के साथ इस ट्रेस ध्वज का उपयोग करें! लेकिन बेहतर योजनाओं के साथ आने पर यह उपयोगी हो सकता है। यह सभी देखें:
- ग्रांट फ्रिट्ची द्वारा लेख "अनुकूलन स्तर" को टैग किया गया।
- इससे पहले कि आप SQL सर्वर 2008 में नवीनीकृत करें ... ब्रेंट ओजर द्वारा।
- Microsoft समर्थन द्वारा उच्च प्रदर्शन वर्कलोड में चलने पर SQL सर्वर के लिए ट्यूनिंग विकल्प ।
मैं बहुत सारे जोड़ो के साथ प्रश्नों के बारे में सोच रहा था जहाँ ज्वाइनिंग ऑर्डर के लिए समाधान स्थान तेजी से विस्फोट होता है। एसक्यूएल सर्वर का उपयोग करने वाले अनुमान बहुत अच्छे हैं, लेकिन मैं सोच रहा था कि क्या ऑप्टिमाइज़र एक अलग ऑर्डर का प्रस्ताव देगा, अगर इसमें अधिक समय था (सेकंड या मिनट की सीमा में)।