2008-09-18 6 views

उत्तर

269

भौतिक दृश्य डिस्क आधारित हैं और क्वेरी परिभाषा के आधार पर समय-समय पर अपडेट किए जाते हैं।

दृश्य केवल आभासी हैं और प्रत्येक बार जब उन्हें एक्सेस किया जाता है तो क्वेरी परिभाषा चलाते हैं।

+44

इसके अलावा जब आपको डेटा पर प्रदर्शन की आवश्यकता होती है जिसे बहुत ही पुराने होने की आवश्यकता नहीं है, तो भौतिक दृश्य बेहतर होते हैं, लेकिन आपका डेटा मानक दृश्य से पुराना होगा। आम तौर पर बीआई रिपोर्ट भौतिक विचारों से बहुत लाभ प्राप्त करती है। – Marthinus

+25

@ मार्थिनस - यह एक भौतिक दृश्य के मामले में छोड़कर सही है जो COMMIT पर रिफ्रेश है - एमवी वास्तव में किए गए डेटा को वापस कर देगा। –

+2

डिस्क आधारित अर्थ क्या है? क्या इसका मतलब है कि मेज डिस्क का हिस्सा नहीं है? क्या यह एक फाइल में संग्रहीत है और डिस्क एक्सेस तेज है कि फ़ाइल का उपयोग ....? –

43

एक दृश्य अंतर्निहित तालिकाओं से डेटा खींचने के लिए एक क्वेरी का उपयोग करता है।

एक भौतिक दृश्य डिस्क पर एक तालिका है जिसमें क्वेरी का परिणाम सेट होता है।

भौतिक दृश्य मुख्य रूप से एप्लिकेशन प्रदर्शन को बढ़ाने के लिए उपयोग किए जाते हैं, जब यह लागू दृश्यों के साथ मानक दृश्य का उपयोग करने के लिए व्यवहार्य या वांछनीय नहीं होता है। भौतिक विचारों को नियमित रूप से ट्रिगर्स के माध्यम से या ON COMMIT REFRESH विकल्प का उपयोग करके नियमित आधार पर अपडेट किया जा सकता है। इसके लिए कुछ अतिरिक्त अनुमतियों की आवश्यकता होती है, लेकिन यह जटिल नहीं है। ON COMMIT REFRESH के बाद से कम से कम ओरेकल 10

+0

"संचार पर रिफ्रेश" विकल्प है जिसे एक सामग्रीबद्ध दृश्य – Hybris95

+0

पर निर्दिष्ट किया जा सकता है धन्यवाद! मैं जवाब अपडेट करूंगा। क्या आपको पता है कि यह कार्यक्षमता ओरेकल में कब जोड़ा गया था? –

14

दृश्य अनिवार्य रूप से तार्किक तालिका जैसी किसी क्वेरी द्वारा मक्खी पर आबादी वाले संरचनाओं जगह में किया गया है। दृश्य क्वेरी के परिणाम डिस्क पर कहीं भी संग्रहीत नहीं होते हैं और क्वेरी निष्पादित होने पर हर बार दृश्य को पुनर्निर्मित किया जाता है। मटेरियलाइज्ड व्यू डेटाबेस के भीतर संग्रहीत वास्तविक संरचनाएं हैं और डिस्क पर लिखी गई हैं। वे बनाए गए मानकों के आधार पर अद्यतन किए जाते हैं।

+0

डिस्क आधारित अर्थ क्या है? क्या इसका मतलब है कि मेज डिस्क का हिस्सा नहीं है? क्या यह एक फाइल में संग्रहीत है और डिस्क एक्सेस तेज है कि फ़ाइल का उपयोग ....? विस्तृत स्पष्टीकरण के लिए –

264

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

सामग्री वाले विचार नियमित विचारों के समान हैं, जिसमें वे आपके डेटा (एक चुनिंदा कथन के आधार पर) का तार्किक दृश्य हैं, हालांकि, अंतर्निहित क्वेरी परिणामसेट को एक तालिका में सहेजा गया है। इसका उल्टा यह है कि जब आप भौतिक दृश्य से पूछते हैं, तो आप एक टेबल से पूछताछ कर रहे हैं, जिसे अनुक्रमित भी किया जा सकता है। इसके अतिरिक्त, क्योंकि सभी जोड़ों को भौतिक दृश्य रीफ्रेश समय पर हल किया गया है, इसलिए जब भी आप भौतिक दृश्य से चयन करते हैं, तो आप एक बार शामिल होने की कीमत का भुगतान करते हैं (या जैसे ही आप अपना भौतिक दृश्य रीफ्रेश करते हैं)। इसके अतिरिक्त, क्वेरी रीराइट सक्षम करने के साथ, ओरेकल एक ऐसी क्वेरी को अनुकूलित कर सकता है जो आपके भौतिक दृश्य के स्रोत से इस तरह से चयन करता है कि यह आपके भौतिक दृश्य से पढ़ता है। ऐसी परिस्थितियों में जहां आप कुल सारणी के रूपों के रूप में भौतिक दृश्य बनाते हैं, या अक्सर निष्पादित प्रश्नों की प्रतियों के रूप में, यह आपके अंतिम उपयोगकर्ता एप्लिकेशन के प्रतिक्रिया समय को बहुत तेज़ी से बढ़ा सकता है। हालांकि नकारात्मक बात यह है कि भौतिक दृश्य से वापस प्राप्त डेटा केवल उतना ही अद्यतित है जितना कि भौतिक दृश्य को रीफ्रेश किया गया है।

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

सामग्री के विचार अक्सर डेटा वेयरहाउसिंग/बिजनेस इंटेलिजेंस अनुप्रयोगों में उपयोग किए जाते हैं, जहां हजारों लाखों पंक्तियों के साथ बड़ी तथ्य सारणी पूछताछ के परिणामस्वरूप क्वेरी प्रतिक्रिया समय होता है जिसके परिणामस्वरूप एक अनुपयोगी अनुप्रयोग होता है।

+8

+1, लेकिन क्वेरी फिर से लिखने का नकारात्मक हिस्सा क्या है? यदि क्वेरी रीराइट करने से ओरेकल को क्वेरी को और भी अनुकूलित करने की अनुमति मिल जाएगी तो हमें हमेशा क्वेरी रीराइट सक्षम करना चाहिए, नहीं? –

+5

@Rosdi, वह उसे कहा: –

1

माइक मैकलिस्टर के सुंदर-पूर्ण उत्तर में जोड़ना ...

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

जब आप एक materialized दृश्य बनाते हैं, आपको लगता है कि ओरेकल दोनों mview और एक ही नाम है, जो चीजों को भ्रमित कर सकते हैं के साथ एक मेज के रूप में बनाता है मिल जाएगा।

+0

टेबल है कि एक materialized दृष्टिकोण का समर्थन एक ही नाम नहीं लेते हैं "डेटा आप materialized दृश्य से वापस मिल ही पिछली बार materialized दृश्य ताजा कर दिया गया है के रूप में नवीनतम बनाए रखने में है" दृश्य के रूप में। –

+0

@ जेफरीकेम्प, क्या आप निश्चित हैं? यहां स्वीकार किए गए उत्तर http://stackoverflow.com/a/33552513 अन्यथा दावा करते हैं। यद्यपि हाँ, यह 2010 में अलग हो सकता है जब आपने टिप्पणी की ... – leqid

+0

ऊपर मेरी टिप्पणी एक पुराने संस्करण (शायद 9i) पर होनी चाहिए। आप सही हैं, एमवी को कम से कम आधुनिक संस्करणों में एक ही नाम के साथ एक टेबल मिलता है। –

12

दृश्य materialized - एक डिस्क है कि एक प्रश्न

गैर materiased का परिणाम सेट होता है पर एक तालिका दृश्य - एक प्रश्न कि अंतर्निहित तालिका

1

एक दृश्य से डेटा खींचती एक एसक्यूएल क्वेरी के अलावा कुछ भी नहीं है, एक क्वेरी का आउटपुट लेता है और इसे वर्चुअल टेबल की तरह दिखता है, जो किसी भी स्टोरेज स्पेस को नहीं लेता है या कोई डेटा

लेकिन मटेरियलाइज्ड विचार स्कीमा ऑब्जेक्ट्स हैं, यह एक अलग स्कीमा ऑब्जेक्ट में क्वेरी के परिणाम संग्रहीत करता है (यानी, स्टोरेज स्पेस लेना और डेटा रखना)। यह इंगित करता है कि भौतिक दृश्य तालिका डेटा की शारीरिक रूप से अलग प्रतिलिपि वापस कर रहा है

1

देखें: देखें केवल एक नामांकित क्वेरी है। यह कुछ भी स्टोर नहीं करता है। जब कोई प्रश्न देखने पर होता है, तो यह दृश्य परिभाषा की क्वेरी चलाता है। वास्तविक डेटा तालिका से आता है।

सामग्री के दृश्य: भौतिक रूप से स्टोर डेटा और समय-समय पर अपडेट हो जाते हैं। एमवी पूछताछ करते समय, यह एमवी से डेटा देता है।

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