नीचे दी गई एक क्वेरी जैसे कि किसी भी पंक्तियों को वापस नहीं करने की गारंटी है, हमारे सर्वर में से किसी एक पर 0 से 160 सेकंड तक ले जाती है:
select col1, col2, col3
from tab1
where 0 = 1
दो हफ्ते पहले, यह 48 घंटे के अंतराल में छह बार हुआ। पिछले हफ्ते एक ही क्वेरी ~ 0 सेकंड लिया। मेरे पास हमारे एप्लिकेशन की SQL के लॉग हैं, लेकिन अभी तक कोई भी संदिग्ध नहीं मिला है। इसके अलावा, मुझे लगा कि एक शीर्ष 0 / जहाँ 0 = 1 प्रकार की क्वेरी ने कभी भी डेटा पृष्ठों को हिट नहीं किया है, इसलिए यह पंक्ति / पृष्ठ / टेबल-स्तरीय डेटा लॉक के लिए प्रतिरोधी होना चाहिए? स्कीमा किसी भी (ज्ञात) SQL द्वारा छुआ नहीं है।
चूंकि समस्या सुसंगत नहीं है, और सर्वर बहुत भारी लोड के अधीन है, मैं एसक्यूएल प्रोफाइलर को संलग्न करने से पहले क्या हो रहा है इसके पीछे के सिद्धांत को समझना चाहता हूं। अन्य प्रश्न इन देरी के दौरान समस्याओं के बिना चलते हैं। आवेदन में एक ज्ञात समस्या गतिशील रूप से निर्मित एसक्यूएल प्रश्नों की एक उच्च संख्या है - 48k की अवधि में 850k कुल (लॉग) प्रश्नों के लगभग 200k अद्वितीय प्रश्न, क्या यह इस तरह की समस्याएं पैदा कर सकता है?
सर्वर SQL Server 2005 मानक संस्करण, 96 GB RAM, SAN और 4 CPU / 16 कोर पर चल रहा है। डेटाबेस फ़ाइलें और फ़ाइल समूह अच्छी तरह से अनुकूलित हैं और एक समस्या नहीं होनी चाहिए (लेकिन हम इसे अलग से देख रहे हैं)।
किसी भी संकेत जहां देखने के लिए बहुत सराहना की है।
संपादित करें: बिल्कुल सही! निष्पादन योजना को जोड़ने के लिए क्वेरी को फिर से जोड़ा, और इसमें 1min 35sec लिया। यहां निष्पादन योजना और स्क्रीनशॉट क्वेरी अवधि दिखा रहा है:

संपादित 2: एक दूसरे रन के लिए सांख्यिकी समय विवरण। अभी लगातार धीमी गति से लगता है, इसलिए हम प्रोफाइलर और परफॉमन को जोड़ेंगे:
SQL Server Execution Times:
CPU time = 0 ms, elapsed time = 97402 ms.
SQL Server parse and compile time:
CPU time = 0 ms, elapsed time = 0 ms.
