2012-04-18 15 views
6

मैं बिक्री और ग्राहक बोनस की गणना करने के लिए एक जटिल तर्क लिख रहा हूं। मेरे पास बोनस की गणना करने के लिए लाखों रिकॉर्ड हैं।कोड प्रदर्शन: SQL सर्वर क्वेरी बनाम सी # नेट वेब एप्लिकेशन

मुझे विशेषज्ञ राय चाहिए ताकि गणितीय ऑपरेशन को वेब पेज पर परिणाम प्रदर्शित करने में अधिक समय न लगे।

तो मुझे गणना भाग लिखने की आवश्यकता है? SQL सर्वर क्वेरीज़ (संग्रहीत प्रक्रिया और फ़ंक्शंस का उपयोग करके) या ASP.NET & सी # .Net (व्यवसाय तर्क परत) में?

कौन सा सबसे अच्छा अभ्यास है? डाटाबेस सर्वर पर प्रसंस्करण या अनुप्रयोग सर्वर पर प्रसंस्करण?

सादर

मोहसिन जेके

+1

यदि उन * लाखों पंक्तियां * पहले से ही SQL सर्वर डेटाबेस में हैं - वहां डेटा को संसाधित करें! एक संग्रहित प्रक्रिया परिणाम उत्पन्न करती है, इसे एक टेबल में रखती है, और उसके बाद अपने एएसपी.NET वेबपृष्ठ में उस तालिका से परिणाम दिखाएं। –

+0

यदि आपकी गणना के लिए समेकन के व्यापक उपयोग की आवश्यकता है, तो आप 'भौतिक दृश्यों' पर एक नज़र डाल सकते हैं। http://en.wikipedia.org/wiki/Materialized_view – edze

उत्तर

4

यदि आपके पास लाखों रिकॉर्ड हैं तो मैं आपको SQL सर्वर में गणना भाग लिखने का सुझाव दूंगा क्योंकि बिजनेस लेयर में कैलक्यूशन में काफी समय लगेगा।

के बाद प्रदर्शन में सुधार करने सुझाव दिए गए हैं -

  • लिखें संग्रहित प्रक्रियाओं
  • बनाएं रिकॉर्ड अस्थायी तालिकाओं के तेजी से
  • उपयोग लाने के लिए इंडेक्स अगर manupulation विशाल रिकॉर्ड

आप कर सकते हैं के लिए है टी-एसक्यूएल अन्य प्रदर्शन अनुकूलन तकनीकों को खोजने के लिए नेट पर खोजें।

+1

सहमत हैं। Additionaly, मैं सीएलआर कार्यों पर विचार करने का सुझाव देना होगा। जटिल गणना के लिए सीएलआर सादा टी-एसक्यूएल की तुलना में काफी तेज हो सकता है। या यह इस विशेष मामले में नहीं हो सकता है, इसलिए परीक्षण आवश्यक है। – VladV

1

मैं

बोनस की गणना करने के मुझे लगता है कि डेटाबेस में यह गणना करने के लिए से डेटा की बड़ी मात्रा गुजर से बचने के लिए बेहतर है अभिलेखों की लाख है आवेदन करने के लिए डेटाबेस।

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