2012-10-10 4 views
11

में एक दृश्य के अंदर विचारों को कॉल करना बुरा है, मैंने 8 अलग-अलग विचार बनाए हैं और मैं इन दृश्यों को एक दृश्य के अंदर उपयोग कर रहा हूं। तो मैं इस विचार के साथ आगे जाने से पहले सोच रहा था। मैं जानना चाहता हूं कि यह प्रदर्शन को बहुत बुरी तरह प्रभावित करता है या नहीं।क्या एसक्यूएल

+1

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

+2

जब तक कि दृश्य खुद को संदर्भित नहीं कर रहा है, यह ठीक होना चाहिए – atar

+0

आप ** ** ** कॉल नहीं करते हैं (वे "प्रोग्राम" या कोड नहीं हैं) - आप उनसे चयन करते हैं। –

उत्तर

11

नहीं, यह ठीक है। कई मामलों में मैं व्यक्तिगत रूप से परिभाषा को समझने के लिए एक विशाल और कठिन के साथ एक दृश्य लिखना बेहतर मानता हूं। मेरी राय में, एकाधिक विचारों का उपयोग करने से आप:

  1. व्यक्तिगत विचारों में अलग-अलग तर्क को समाहित कर सकते हैं।
  2. तर्क को दोहराने के बिना व्यक्तिगत विचारों में तर्क का पुन: उपयोग करें (बाद में अद्यतन समस्याओं को समाप्त करना)।
  3. अपने तर्क का नाम दें ताकि अगले प्रोग्रामर को यह समझने में आसान लगे कि आप क्या हासिल करने की कोशिश कर रहे थे।
2

प्रदर्शन के लिए प्रदर्शन के लिए यह बुरा नहीं है। यह बनाए रखने के लिए कुछ जटिलता जोड़ सकता है, और जब आप अंतर्निहित तालिकाओं की स्कीमा बदलना चाहते हैं तो अतिरिक्त विचार कर सकते हैं। यदि आप विचारों का उपयोग कर रहे थे और वे एक ही टेबल में शामिल हो गए, तो मुझे लगता है कि एक बार में एक बार तालिका में शामिल होने से कम कुशल होगा।

+0

एकाधिक विचारों में एक ही टेबल रखने के बारे में महान बिंदु। – RubberDuck

1

किसी व्यू के दृश्य से पूछताछ करने का शुद्ध तथ्य कोई नकारात्मक प्रदर्शन प्रभाव नहीं पड़ता है। यह एक तालिका के भीतर से पूछताछ से अलग नहीं है।

2

मैं नेस्टेड विचारों का उपयोग, प्रत्येक दृश्य encapsulating के साथ और डेटा के कुछ क्रॉस सेक्शन नामकरण पक्ष में हैं।

प्रदर्शन के लिए के रूप में, यह वास्तव में प्रदर्शन में सुधार कर सकते हैं अगर विकल्प की आवश्यकता है कि एक ही डेटा को कई बार पूछे जा करने के लिए: एक नेस्टेड दृश्य अस्थायी तालिका की तरह एक सा है - एक बार गोली चलाई।

सबसे अच्छा है, और सिफारिश की, प्रदर्शन निहितार्थ को खोजने के लिए जिस तरह से दोनों विकल्प कोशिश करते हैं और उत्पादन की व्याख्या की जांच करने के लिए है।

5

विचार निष्पादन योजना निर्माण के दौरान "संकलित" हो जाते हैं। इसलिए उनका उपयोग करने के लिए केवल एक बहुत छोटा जुर्माना है: परिभाषा को देखने के लिए SQL सर्वर को अतिरिक्त समय लगता है। आमतौर पर यह देरी मापनीय नहीं है।

प्रयोजनों लैरी Lustig ने उल्लेख के लिए विचारों का उपयोग इसका मतलब है कि पूरी तरह से ठीक है और प्रोत्साहित करते हैं-सक्षम है।

हालांकि: सुनिश्चित करें कि आप अनावश्यक परिचय नहीं है कि इस तकनीक का इस्तेमाल मिलती है सुनिश्चित करें। जबकि एसक्यूएल सर्वर में एक क्वेरी से अनियंत्रित टेबल को खत्म करने के लिए तंत्र हैं, लेकिन क्वेरी जटिल होने पर जल्दी ही छोड़ देती है। उन अतिरिक्त जॉइन को निष्पादित करने से महत्वपूर्ण मंदी हो सकती है। यही कारण है कि कई कंपनियों के पास जगह पर कोई दृश्य-नियम नहीं है।

तो: विचारों का उपयोग करें, लेकिन उनका दुरुपयोग न करें सुनिश्चित करें।

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