sql - Link Server Optimization Help -
मुझे एक ट्रिगर में यह कोड है।
यदि isnull (@d_email, '' ) & Lt; & gt; Isnull (@ i_email, '') अद्यतन server2.database2.dbo.Table2 सेट ईमेल = @ i_email, जहां user_id = (server2.database2.dbo.Table1 से select user_id चुनें जहां लॉगिन = @login) अंत
पूर्व>मैं एक और डीबी सर्वर पर एक तालिका को अपडेट करना चाहूंगा, दोनों MSSQL हैं उपरोक्त प्रश्न मेरे लिए काम करता है लेकिन इसे पूरा करने में 10 सेकंड का समय लग रहा है। तालिका 2 में 200k रिकॉर्ड हैं जब मैं निष्पादन योजना चलाता हूं तो यह कहते हैं कि रिमोट स्कैन की 99% लागत है
किसी भी मदद की सराहना की जाएगी।
पहले, स्पष्ट लिंक किए गए सर्वर पर इंडेक्स देखें यदि मैंने लिंक समस्या के बिना इस समस्या को देखा है, तो वह पहली बात है जो मैं जांचूंगा।
सुझाव: सर्वर 1 ट्रिगर में अद्यतन को एम्बेड करने के बजाय, लिंक किए गए सर्वर पर एक संग्रहीत कार्यप्रणाली बनाएं और संग्रहित प्रक्रिया को कॉल करके रिकॉर्ड को अपडेट करें।
UPDATE से उप-क्वेरी निकालने का प्रयास करें:
अगर isnull (@d_email, '') & lt; & gt; Isnull (@ i_email, '') अद्यतन सर्वर 2.database2.dbo.Table2 सेट ईमेल = @ i_email से server2.database2.dbo.Table2 t2 आंतरिक शामिल सर्वर2.database2.dbo.Table1 t1 पर (t1.user_id = t2.user_id ) जहां t1.login = @login अंत
Comments
Post a Comment