मैंने एक बार एक वास्तुकार के साथ काम किया जिसने एसक्यूएल विचारों के उपयोग पर प्रतिबंध लगा दिया। उनका मुख्य कारण यह था कि विचारों ने एक विचारहीन कोडर के लिए अनिवार्य रूप से शामिल तालिकाओं को शामिल करना बहुत आसान बना दिया, अगर उस कोडर ने कड़ी मेहनत की, तो पूरी तरह से टाला जा सकता था। स्पष्ट रूप से वह दृश्यों में समावेशन के बजाय कॉपी-एंड-पेस्ट के माध्यम से कोड पुन: उपयोग को प्रोत्साहित कर रहा था।एसक्यूएल सर्वर दृश्य, आशीर्वाद या अभिशाप?
डेटाबेस में लगभग 600 टेबल थे और अत्यधिक सामान्यीकृत था, इसलिए अधिकांश उपयोगी एसक्यूएल आवश्यक रूप से वर्बोज़ था।
कई सालों बाद मैं प्रतिबंध से कम से कम एक बुरा परिणाम देख सकता हूं - हमारे पास कई सैकड़ों घने, लंबी संग्रहित प्रोसेस हैं जो अनजान हैं।
हिंडसाइट में मैं कहूंगा कि यह एक बुरा निर्णय था, लेकिन एसक्यूएल विचारों के साथ आपके अनुभव क्या हैं? क्या आपने उन्हें प्रदर्शन के लिए बुरा पाया है? जब वे उचित हैं या उचित नहीं हैं तो कोई अन्य विचार? प्रति-और-चिपकाएं
पुन: उपयोग के लिए एक दृश्य बनाने के द्वारा कोड के माध्यम से
वह था उत्साहजनक कोड पुन: उपयोग:
+1 लेकिन मैं उन परिस्थितियों में आया हूं जहां खराब डिजाइन किए गए विचारों ने भयंकर प्रदर्शन किया है। स्थिति SQL2K थी जिसमें दो विचार थे जो यूनियनों का प्रदर्शन करते थे और फिर तीसरे दृश्य में शामिल होते थे। उस विशिष्ट मामले में प्रदर्शन हिट 1,000 गुना धीमा था। – BlackWasp
इस पर आया था। हम ऐसी कंपनी के लिए परामर्श प्रदान कर रहे हैं जिसमें प्रदर्शन समस्याएं हैं। हम उन्हें अपने मौजूदा सिस्टम के साथ जुड़ने के लिए पीडीए आधारित समाधान भी दे रहे हैं। उनके पास प्रत्येक टेबल के लिए एक दृश्य है। और उनके सिस्टम द्वारा उपयोग की जाने वाली प्रत्येक क्वेरी के लिए उनके पास एक दृश्य है। और वे चाहते हैं कि हम अपने डीडी तक पहुंचने के लिए हमारे पीडीए आधारित सिस्टम द्वारा उपयोग की जाने वाली प्रत्येक क्वेरी के लिए प्रत्येक को एक दृश्य बनाएं। मैंने उन्हें बताया है कि यह एक भयानक विचार है। क्या मुझे चीजों को करने के अपने तरीके से आगे बढ़ना चाहिए? मैं इसे SO पर एक अलग प्रश्न के रूप में पोस्ट कर सकता हूं। –