मैं वर्तमान में निम्नलिखित बयानक्या परिणाम अवरुद्ध कर रहा है "तालिका नाम से शीर्ष 1 * चुनें (नोलॉक)" परिणाम लौटने से?</p> <pre><code>select count(*) from adhoc..san_savedi with (nolock) </code></pre> <p>कि नहीं था ':
select * into adhoc..san_savedi from dps_san..savedi_record
यह एक दर्दनाक अधिक समय लग रहा है और मैं कितनी दूर देखना चाहते हैं के साथ यह इतना है कि मैं इस भाग चल रहा हूँ टी समय पर कुछ भी वापस नहीं लौटाता है, इसलिए मैंने यह किया:
select top 1 * from adhoc..san_savedi with (nolock)
यहां तक कि यह अनिश्चित काल तक चल रहा है। मैं समझ सकता हूं कि क्या लाखों रिकॉर्ड हैं कि गिनती (*) में काफी समय लग सकता है, लेकिन मुझे समझ में नहीं आ रहा है कि शीर्ष 1 रिकॉर्ड का चयन क्यों नहीं किया गया है, मैंने तुरंत निर्दिष्ट नोलॉक पर विचार किया है।
पूर्ण प्रकटीकरण के नाम पर, dps_san एक ऐसा दृश्य है जो लिंक किए गए सर्वर के माध्यम से एक ओडीबीसी कनेक्शन से खींचता है। मुझे नहीं लगता कि यह प्रभावित होगा कि मैं शीर्ष पंक्ति क्यों नहीं लौटा सकता हूं, लेकिन अगर मैं गलत हूं तो इसे वहां फेंक रहा हूं।
तो मैं जानना चाहता हूं कि उस कथन को चलने से क्या रोक रहा है?
संपादित करें:
मैं ऊपर उल्लेख किया है, हाँ dps_san..savedi_record एक दृश्य है। यहाँ यह क्या करता है:
select * from DPS_SAN..root.SAVEDI_RECORD
यह एक उपनाम से ज्यादा कुछ नहीं है और करता है कोई समूहीकरण/छँटाई/आदि तो मुझे नहीं लगता कि समस्या यहाँ निहित है, लेकिन कृपया मुझे प्रबुद्ध अगर मैं उस के बारे में गलत हूँ।
दृश्य क्या करता है? यदि यह ग्रुप बीईएस, ऑर्डर बीईएस करता है या कुल कार्यों का उपयोग करता है तो यह हो सकता है कि शीर्ष 1 पंक्ति का चयन करना उन सभी को चुनने के रूप में महंगा है। –
क्या आप वाकई SELECT INTO ने डिस्क पर एक पंक्ति को लिखा है? हो सकता है कि यह अभी भी स्कीमा लॉक मोड में है क्योंकि यह अभी भी आपके लिंक किए गए कनेक्शन से पहली पंक्ति देने के लिए ओडीबीसी की प्रतीक्षा कर रहा है। –
@AaronBertrand नहीं, मुझे यकीन नहीं है। हालांकि, मैं एक और क्वेरी विंडो खोल सकता हूं और dps_san..savedi_record से रिकॉर्ड का चयन कर सकता हूं और परिणाम प्राप्त कर सकता हूं, इसलिए यह अजीब होगा अगर उसने अब तक कोई परिणाम नहीं लिखा है (यह 2+ घंटे है)। –