2009-05-29 15 views
6

के लिए एक क्वेरी की तुलना में बहुत तेजी से काम करता है यह पता लगाने की क्यों इस तरह के एक महत्वपूर्ण अंतरOPENQUERY सीधे किसी लिंक किए गए तालिका

और

के बीच

select * from linkedserver..tablename

select * from openquery(linkedserver, select * from tablename) है कोशिश कर रहा है।

4 मिनट बनाम 13 सेकंड।

+0

क्या यह लगातार अलग है? – gbn

+0

किस प्रकार का लिंक सर्वर - एसक्यूएल, ओडीबीसी, ??? – Arvo

+0

क्षमा करें ओरेकल .... –

उत्तर

0

ओपनक्वायरी सीधे गंतव्य सर्वर से जुड़ता है। आरडीबीएमएस कहने के बावजूद, आपने यह नहीं कहा कि डेटा के साथ संवाद करने का दूसरा तरीका क्या था।

+1

दूसरा तरीका क्या है? ... मैंने दो पूर्ण प्रश्न दिए। मैं वही हूं जो मैं चलाता हूं। –

0

क्या आप जानते हैं कि यह लिंक किए गए सर्वर पर वितरित लेनदेन को सूचीबद्ध करने का प्रयास कर रहा है या नहीं? यदि आप कॉल किए जाने पर ओरेकल से ट्रेस आउटपुट देखते हैं, तो आपको होने वाले अनुरोधों में अंतर देखने में सक्षम होना चाहिए। आईआईआरसी, मानक लिंक क्वेरी OPENQUERY कॉल की तुलना में ऑरैकल मेटाडेटा से स्कीमा जानकारी का अनुरोध अलग-अलग तरीके से करेगी। मुझे नहीं पता कि यह क्यों होता है, लेकिन मेरे पास अतीत में एक समान समस्या थी जिसे OPENQUERY का उपयोग करके हल किया गया था।

3

OPENQUERY गंतव्य सर्वर से कनेक्ट होता है और उस सर्वर पर क्वेरी चलाता है और परिणाम देता है। जबकि, मेरा मानना ​​है कि लिंक किए गए सर्वर क्वेरी को स्थानीय सर्वर पर निष्पादित किया जाता है और कनेक्शन में चलता है।

उम्मीद है कि इससे मदद मिलती है।

संबंधित मुद्दे