2010-11-25 11 views

उत्तर

0

आप सकता है एक prebuilt table for the new MV

का स्रोत एक बहुत आप निश्चित रूप से क्वेरी के लिए क्या कर रहे हैं पर निर्भर करता है के रूप में मौजूदा एमवी का उपयोग करने के लिए सक्षम हो। यदि आप एक कॉलम जोड़ रहे हैं, उदाहरण के लिए, आपको अपना नया मान प्राप्त करने के लिए सब कुछ रीफ्रेश करना होगा।

पीएस। मौजूदा एमवी को एक टेबल में बदलने का त्वरित तरीका विभाजन एक्सचेंज होगा लेकिन gotchas के लिए देखें। फिर आप नए परिणाम सेट से मेल खाने के लिए तालिका में हेरफेर करते हैं और छेड़छाड़ की मेज पर आधारित नया एमवी बनाते हैं।

2

आप जगह में जगह देख सकते हैं। यदि आपकी चिंता डाउनटाइम को कम करना है, जबकि नया साक्षात्कार तत्काल (क्योंकि आपने प्रीबिल्ट टेबल का उपयोग नहीं किया है), तो आप निम्न कार्य कर सकते हैं।

  1. एक नई तालिका mview_1 बनाएं जिसका नाम पहले से बनाए गए मेज पर
  2. एक बार जब यह आप पुराने एक
  3. ड्रॉप कर सकते हैं बनाया गया है बना सकते हैं या अब mview_1

से चयन के रूप में देखें mview की जगह *, जब भी आपको पुनर्निर्माण की आवश्यकता होती है तो आप कम से कम डाउनटाइम के साथ ऐसा करने में सक्षम होंगे क्योंकि आप दृश्य को नई तालिका/दृश्य में आगे बढ़ने के लिए सरल बिंदु दे सकते हैं।

+0

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

3

ऐसी स्थितियों के लिए जहां आप सुनिश्चित नहीं हैं कि MVIEW मौजूद है या नहीं (जो कि बनाना या प्रतिलिपि बनाना वास्तव में अच्छा है), मैं उपयोग करता हूं;

BEGIN 
    EXECUTE IMMEDIATE 'DROP MATERIALIZED VIEW name_of_mview'; 
    EXCEPTION 
     WHEN OTHERS THEN 
      IF SQLCODE = -12003 THEN 
       dbms_output.put_line('MVIEW does not exist, which was somewhat expected'); 
      ELSE 
       RAISE; 
      END IF; 
END; 
/

CREATE MATERIALIZED VIEW name_of_mview ... AS SELECT ... 
15

नहीं, आप इसे छोड़कर भौतिक दृश्य की क्वेरी को नहीं बदल सकते हैं।

निर्माण सामग्री दृश्य सिंटेक्स उस सुविधा का समर्थन नहीं करता है।

ALTER materialized दृश्य को संशोधित करने के लिए किया जाता है एक मौजूदा एक या अधिक निम्न तरीकों से में दृश्य materialized:

  • इसके भंडारण विशेषताओं को बदलने के लिए
  • इसकी ताज़ा विधि, मोड को बदलने के लिए, या समय
  • इसकी संरचना को बदलने के लिए इतना है कि यह दृश्य
  • सक्षम करने के लिए या अक्षम क्वेरी materialized एक अलग प्रकार का पुनर्लेखन है

ओरेकल देखें 12C रिलीज़ 1 मैनुअल के लिए:

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