हमारे उत्पादन सर्वर (SQL Server 2008, बहुत शक्तिशाली मशीन) से जुड़े रहते हुए, इस SELECT स्टेटमेंट में 2 सेकंड लगते हैं , सभी क्षेत्रों को पीछे छोड़ते हुए (कुल 4 एमबी डेटा)।
SELECT TOP (30000) *
FROM person
WITH(NOLOCK);
एक ही नेटवर्क पर किसी अन्य बॉक्स से (SQL प्रमाणीकरण या विंडोज प्रमाणीकरण का उपयोग करके), उसी क्वेरी में 1 मिनट, 8 सेकंड लगते हैं ।
मैं यह बताने के लिए बहुत ही सरल कथन के साथ परीक्षण कर रहा हूं कि यह अनुक्रमण समस्या या क्वेरी से संबंधित समस्या नहीं है। (हमारे पास इस समय सभी प्रश्नों के साथ प्रदर्शन के मुद्दे हैं ...)
पंक्तियाँ चंक्स में आती हैं, और एक बार में नहीं। मुझे अपनी पहली पंक्तियाँ तुरन्त मिल जाती हैं, और फिर पंक्तियों के जत्थों के आने के लिए 1 मिनट तक इंतजार करना पड़ता है।
यहां क्वेरी के क्लाइंट आंकड़े हैं, जब इसे रिमोट बॉक्स से चलाया जाता है:
Query Profile Statistics
Number of INSERT, DELETE and UPDATE statements 0
Rows affected by INSERT, DELETE, or UPDATE statements 0
Number of SELECT statements 2
Rows returned by SELECT statements 30001
Number of transactions 0
Network Statistics
Number of server roundtrips 3
TDS packets sent from client 3
TDS packets received from server 1216
Bytes sent from client 266
Bytes received from server 4019800
Time Statistics
Client processing time 72441 ms (72 seconds)
Total execution time 72441 ms
Wait time on server replies 0
हम देख सकते हैं कि "क्लाइंट प्रोसेसिंग टाइम" कुल निष्पादन समय के बराबर है।
क्या किसी को पता है कि मैं निदान करने के लिए क्या कदम उठा सकता हूं, वास्तविक डेटा के हस्तांतरण में लंबा समय क्यों लग रहा है?
क्या कोई SQL कॉन्फ़िगरेशन पैरामीटर है जो मशीनों के बीच डेटा ट्रांसफर गति को प्रतिबंधित या सीमित करता है?