संगतता स्तर 80 में SQL सर्वर 2005 डेटाबेस चला रहा है प्रदर्शन पर नकारात्मक प्रभाव पड़ता है?

हमारा सॉफ़्टवेयर SQL Server 2000 और 2005 पर चलाने में सक्षम होना चाहिए। विकास को सरल बनाने के लिए, हम संगतता स्तर 80 में हमारे SQL Server 2005 डेटाबेस चला रहे हैं। हालांकि, कुछ मामलों में SQL 2000 की तुलना में डेटाबेस प्रदर्शन SQL 2005 पर धीमा लगता है (हम अभी तक बेंचमार्क का उपयोग करके इसकी पुष्टि नहीं की है)। एसक्यूएल 2005 सर्वर पर संगतता स्तर को 90 में सुधारने के लिए अपग्रेड करना होगा?

0
ro fr bn

4 उत्तर

क्या आप अपने प्रश्नों में उप-चयन का उपयोग कर रहे हैं?

मेरे अनुभव से, एसक्यूएल सर्वर 2000 पर ठीक चलने वाले उप-चयनों के साथ एक चयन कथन SQL सर्वर 2005 पर क्रॉल कर सकता है (यह 10x धीमा हो सकता है!)।

एक प्रयोग करें - उप-चयनों को खत्म करने के लिए एक प्रश्न दोबारा लिखें और देखें कि इसका प्रदर्शन कैसे बदलता है।

0
जोड़ा

2005 में डीबी को स्थानांतरित करने के बाद आपने किया था

पूर्ण स्कैन वाले आंकड़े अपडेट करें? इंडेक्स का पुनर्निर्माण?

पहले कोशिश करें और फिर फिर से प्रदर्शन की जांच करें

0
जोड़ा

Also a FYI, if you run compatibility level 90 then some things are not supported anymore like old style outer joins (*= and =*)

0
जोड़ा

मुझे लगता है कि मैंने कहीं पढ़ा है, कि SQL सर्वर 2005 डेटाबेस इंजन SQL Server 2000 इंजन से लगभग 30% तेज होना चाहिए। ऐसा हो सकता है कि इन लाभों को प्राप्त करने के लिए आपको अपने डेटाबेस को संगतता मोड 90 में चलाना होगा।

लेकिन मैं दो परिदृश्यों पर ठोकर खाई, जहां mssql 2000 की तुलना में mssql 2005 का उपयोग करते समय प्रदर्शन नाटकीय रूप से गिर सकता है:

  1. पैरामीटर स्नीफिंग: संग्रहीत प्रक्रिया का उपयोग करते समय, SQL सर्वर उस समय बिल्कुल एक निष्पादन योजना की गणना करेगा, आप पहले प्रक्रिया को कॉल करेंगे। निष्पादन योजना उस कॉल के लिए दिए गए पैरामीटर मानों पर निर्भर करती है। हमारे मामले में, आमतौर पर लगभग 10 सेकंड लगने वाली प्रक्रियाएं mssql 2005 के तहत घंटों तक चल रही हैं। एक नजर डालें यहां और यहां

  2. वितरित प्रश्नों का उपयोग करते समय, mssql 2005 दूरस्थ सर्वर पर सॉर्ट ऑर्डर के बारे में धारणाओं से संबंधित व्यवहार करता है। डिफ़ॉल्ट व्यवहार यह है कि सर्वर स्थानीय tempdb को क्वेरी में शामिल संपूर्ण दूरस्थ तालिकाओं की प्रतिलिपि बनाता है और फिर स्थानीय रूप से जुड़ने को निष्पादित करता है। वर्कअराउंड OPENQUERY का उपयोग करना है, जहां आप दूरस्थ सर्वर से किस परिणाम को स्थानांतरित कर सकते हैं, इसे नियंत्रित कर सकते हैं।

0
जोड़ा