2010-09-11 13 views
9

मैं SQL सर्वर प्रक्रियाओं का उपयोग कर रहा हूं और प्रक्रिया के कोड को अलग करने के लिए संग्रहीत प्रक्रियाओं में Print कथन का उपयोग करने की आदत है।एसक्यूएल प्रक्रिया में प्रिंट स्टेटमेंट प्रदर्शन को प्रभावित करना चाहिए?

मेरे डीबी में लगभग 200-250 प्रक्रियाएं हैं I प्रिंट कथन प्रदर्शन को प्रभावित करना चाहिए? मैं बहु-उपयोगकर्ता विंडोज एप्लिकेशन पर काम कर रहा हूं।

उत्तर

10

मुझे पता चला कि मेरे डेस्कटॉप पर नीचे चलते समय प्रिंटिंग पर टिप्पणी करते हुए निष्पादन समय से लगभग 15 सेकंड खटखटाया गया था जिसका मतलब है कि मेरे सरल परीक्षण में औसत प्रभाव 15μ था। RAISERROR WITH NOWAIT ने इसे डबल से अधिक औसत जोड़ा।

DECLARE @date DATETIME2 

DECLARE 
    @count INT 

SET @count = 1 

SET @date = SYSUTCDATETIME() 

WHILE @count < 1000000 
BEGIN 
--RAISERROR ('%d',0,1, @count) WITH NOWAIT 
--PRINT @count 
    SET @count = @count + 1 
END 

SELECT DATEDIFF(MICROSECOND, @date, SYSUTCDATETIME())/1000000. 
+0

बस उस क्वेरी की कोशिश की, मेरे पास "प्रिंट @ गणना" के साथ कुल 17 सेकंड थे, और प्रिंट के साथ 2,2 सेकंड – Shide

5

PRINT कथन का एक मुट्ठी भर प्रदर्शन पर नगण्य प्रभाव डालेगा - PRINT एस कई हज़ारों बार निष्पादित लूपों में प्रदर्शन प्रदर्शन मुद्दों का कारण बन सकता है।

यह संभावना नहीं है कि यदि आप अपने प्रश्नों के साथ प्रदर्शन समस्याओं का सामना कर रहे हैं तो PRINT अपराधी है - हालांकि, यदि संदेह है, तो कुछ प्रयोगों को आजमाएं!

0

अनिवार्य रूप से (यानी उपयोग के बिना एक अतिरिक्त भूमि के ऊपर समग्र अपने दिए गए प्रक्रिया के प्रदर्शन के लिए शुरू की है क्योंकि आप ग्राहक, जो आप अन्यथा कर नहीं किया जाएगा करने के लिए पास उत्पादन के लिए एसक्यूएल सर्वर पूछ रहे है प्रिंटर स्टेटमेंट का)।

अतिरिक्त ओवरहेड को कम करने के मामले में, इसका समग्र प्रदर्शन पर असर होगा, यह निर्भर करेगा कि आप कितने अतिरिक्त ओवरहेड को लागू कर रहे हैं।

तो दूसरे शब्दों में, जाओ और इसका परीक्षण करें।

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