मेरा प्रश्न यह है कि CTE
और View
एसक्यूएल में अंतर क्या है। मेरा मतलब है कि मुझे किस मामले में CTE
और View
का उपयोग करना चाहिए। मुझे पता है कि दोनों कुछ प्रकार की वर्चुअल टेबल हैं लेकिन मैं उनके उपयोग को अलग नहीं कर सकता।एसक्यूएल - सीटीई बनाम देखें
मुझे एक समान प्रश्न here मिला लेकिन यह प्रदर्शन के बारे में है।
अद्यतन 1:
उदाहरण के लिए: मैं एक डेटाबेस ट्रेडों (tbl_trade
) से भरा है। मुझे 3.5 मिलियन रिकॉर्ड से केवल उन ट्रेडों का चयन करना होगा जो वर्तमान समय तक चालू महीने तक खोले गए थे और फिर डेटा में हेरफेर करते हैं (वर्चुअल टेबल पर विभिन्न प्रश्नों के साथ - यह दृश्य जैसा दिखता है)। यहां समस्या यह है कि मुझे 0-3-4 कॉलम चाहिए और फिर मुझे कुछ कॉलम SUM
पर जाना चाहिए और परिणाम के साथ वर्चुअल कॉलम बनाना होगा (सीटीई की तरह दिखता है)।
ईजी: tbl_trade
में कॉलम हैं: profit
, bonus
और expenses
। मैं SUM(profit)
, SUM(bonus)
, SUM(expenses)
की जरूरत है और एक नया स्तंभ total
जो SUM(profit)
+ SUM(bonus)
+ SUM(expenses)
के बराबर हो जाएगा।
पीएस। SUM
के लिए क्वेरी को पुन: हल करना एक विकल्प नहीं है क्योंकि मेरे पास पहले से ही परिणाम है।
अग्रिम धन्यवाद!
एक दृश्य डेटाबेस में एक वस्तु है। एक सीटीई केवल एक ही क्वेरी की अवधि के लिए मौजूद है। वे बहुत अलग लगते हैं। क्या आप उनके बीच चयन का एक उदाहरण प्रदान कर सकते हैं? –
आप कितने डेटा से निपट रहे हैं? सीटीई बड़े पैमाने पर TempDb का उपयोग करता है और यदि आपका TempDb ठीक से कॉन्फ़िगर नहीं किया गया है या आपका सीटीई बड़ी संख्या में पंक्तियों से निपट रहा है तो यह सबसे अच्छा शर्त नहीं है। बड़ी मात्रा में डेटा और सीटीई के साथ छोटे से निपटने के दौरान देखें चुनें। जब आपको रिकर्सन की आवश्यकता होती है तो आप सीटीई भी चुन सकते हैं। बस इतना ही ! –
हाय और आपके उत्तरों के लिए धन्यवाद। अपडेट किए गए प्रश्न – BlackM