मैं Microsoft SQL Server 2016 SP2-CU6 (13.0.5292.0) को 4 vCPU VM पर max degree of parallelism
सेट 2
और cost threshold for parallelism
सेट करने के साथ चला रहा हूं 50
।
सुबह में, जब एक चयन शीर्ष 100 क्वेरी के लिए अनुमानित निष्पादन योजना को प्रदर्शित करने की कोशिश की जाती है , तो मैं बड़े पैमाने पर इंतजार करता हूं और अनुमानित योजना को प्रस्तुत करने के लिए ऑपरेशन में 5 से 7 मिनट की रेंज में कई बार मिनट लगते हैं। फिर से, यह क्वेरी का वास्तविक निष्पादन नहीं है, यह केवल अनुमानित निष्पादन योजना को प्रदर्शित करने की प्रक्रिया है ।
sp_WhoIsActive
PAGEIOLATCH_SH
या तो इंतजार करता है या LATCH_EX [ACCESS_METHODS_DATASET_PARENT]
इंतजार करता है और जब मैं ऑपरेशन के दौरान पॉल रान्डल के वेटिंग टास्क को चलाता हूं। एसक्यूएल स्क्रिप्ट में यह दिखाया जाता है कि वेट दिखातेCXPACKET
हुए वर्कर थ्रेड्स के साथ PAGEIOLATCH_SH
इंतजार करता है:
* संसाधन विवरण क्षेत्र = exchangeEvent id=Port5f6069e600 WaitType=e_waitPortOpen waiterType=Coordinator nodeId=1 tid=0 ownerActivity=notYetOpened waiterActivity=waitForAllOwnersToOpen
कार्यकर्ता सूत्र पूरी stats
तालिका को स्मृति में लाते हैं (जैसे कि पृष्ठ संख्याओं के साथ-साथ बाद के पृष्ठ संख्याओं में पॉल रैंडल की क्वेरी बिंदु से stats
तालिका के लिए क्लस्टर कुंजी को दिखाया गया है )। एक बार जब योजना वापस आ जाती है, तो मूल रूप से यह शेष दिन के लिए तात्कालिक होता है, तब भी जब मैं stats
कैश से तालिका के अधिकांश भाग को केवल विभिन्न रिकॉर्डों के साथ देखता हूं (जो मुझे लगता है कि इसी तरह के प्रश्नों के संचालन की तलाश के कारण खींचा गया था)।
मैं इस प्रारंभिक व्यवहार की उम्मीद करूंगा यदि क्वेरी वास्तव में SCAN ऑपरेटरों का उपयोग करने वाली योजना के साथ निष्पादित हो रही थी, लेकिन ऐसा तब क्यों हो रहा है जब निष्पादन योजनाओं का मूल्यांकन केवल SEEK ऑपरेटर पर पहुंचने के लिए किया गया है जैसा कि ऊपर दी गई योजना में दिखाया गया है? यहाँ प्रदर्शन को बेहतर बनाने में मदद करने के लिए मैं क्या कर सकता हूँ (कार्यालय समय से पहले इस कथन को चलाने से अलग) मैं मान रहा हूं कि अनुक्रमणिका को कवर करना फायदेमंद होगा, लेकिन क्या वे वास्तव में व्यवहार में किसी भी बदलाव की गारंटी देंगे? मुझे कुछ भंडारण और रखरखाव विंडो सीमाओं के भीतर काम करना होगा, और क्वेरी स्वयं एक विक्रेता समाधान से उत्पन्न होती है, इसलिए इस बिंदु पर किसी भी अन्य सुझाव (बेहतर अनुक्रमण के अलावा) का स्वागत किया जाएगा।