मेरे पास एक वाणिज्यिक SQL Server 2005 उत्पाद में 200 से कम है, जो कुछ नई रिपोर्टों के लिए अगले कुछ दिनों में लगभग 10-20 तक बढ़ने की संभावना है।
जहां संभव हो मैं 'subroutine' sprocs लिखता हूं, ताकि जब भी मैं खुद को 3 या 4 समान कथनों को एक साथ दो से अधिक स्पॉक्स में डालूं, तो यह समय है कि वे कुछ कथन को सबराउटिन में बदल दें, अगर आप देखते हैं कि मैं क्या देखता हूं मतलब है।
मैं सभी व्यावसायिक तर्कों को करने के लिए स्पॉक्स का उपयोग नहीं करता हूं, इसलिए मैं सिर्फ कुछ भी कर रहा हूं जो 'लेनदेन' के रूप में देखा जा सकता है - इसलिए जहां मेरा ग्राहक कोड (डेल्फी में लेकिन जो भी हो) अजीब डालने या खुद को अपडेट कर सकता है, जैसे ही कुछ चीजों को अपडेट करने या 'एक बार में' डालने की आवश्यकता होती है, यह एक स्पोक के लिए समय है।
मैं पठनीयता में सहायता करने के लिए एक सरल, कच्चे नामकरण परंपरा है (और रखरखाव में!)
उत्पाद का कोड नाम 'राहेल' है, इसलिए हम
RP_whatever - these are general sprocs that update/insert data,
- or return small result sets
RXP_whatever - these are subroutine sprocs that server as 'functions'
- or workers to the RP_ type procs
REP_whatever - these are sprocs that simply act as glorified views almost
- they don't alter data, they return potentially complex result sets
- for reporting purposes, etc
XX_whatever - these are internal test/development/maintenance sprocs
- that the client application (or the local dba) would not normally use
है नामकरण मनमाना है , यह सिर्फ SQL सर्वर का उपयोग करता है sp_ उपसर्ग से भिन्न करने में मदद करने के लिए है।
मुझे लगता है कि अगर मुझे पता चला कि मेरे पास डेटाबेस में 400-500 स्पॉक्स हैं, तो मैं चिंतित हो सकता हूं, लेकिन कुछ सौ समस्या तब तक कोई समस्या नहीं है जब तक आपके पास प्रत्येक स्पोक की किस तरह की गतिविधि की पहचान करने के लिए एक प्रणाली हो के लिए जिम्मेदार। मैं अपने उच्च स्तरीय प्रोग्रामिंग भाषा में स्कीमा परिवर्तनों का पीछा करने की कोशिश करने के बजाय कुछ सौ sprocs (जहां SQL सर्वर उपकरण आप निर्भरता आदि खोजने में मदद कर सकते हैं) में स्कीमा परिवर्तन का पीछा करना चाहते हैं।
पूरी तरह से सहमत हैं - स्कीमा परिवर्तन होने पर हजारों एसपी का रखरखाव अनावश्यक हो जाता है। – stephbu
मैं इस विचार को दूसरा स्थान देता हूं, मैं हजारों स्टोर प्रक्रियाओं से नफरत करता हूं। –
क्या आपके संग्रहित प्रक्रियाओं में व्यावसायिक तर्क के नॉट्स के साथ समाप्त होने का जोखिम नहीं है या "स्पेगेटी" कोड को बनाए रखने के लिए मुश्किल है यदि आपके पास कुछ बहुउद्देश्यीय स्पॉक्स हैं? लक्षित संग्रहित प्रक्रियाएं जो प्रत्येक एक कार्य को केवल बनाए रखने के लिए बहुत आसान हैं .. – Rob