2010-08-05 19 views
8

काम पर मुझे लगातार बताया जा रहा है कि जब एक MySQL डीबी में परिवर्तन किए जाते हैं तो विचारों को 'ताज़ा' करने की आवश्यकता होती है। स्वीकार्य मैनुअल समाधान वर्कबेंच में जा रहा है, राइट क्लिक कर रहा है, और 'रीफ्रेश ऑल'MySQL दृश्य ताज़ा करें?

क्या यह कैश साफ़ करने का मतलब है? या क्या यह खरोंच से विचारों का पुनर्निर्माण करता है, या यह पूरी तरह से फर्जी है? वे यह बताने में सक्षम हैं कि विचारों को 'ताज़ा' नहीं किया गया है, और मुझे यकीन नहीं है कि वे इसे और अधिक समझते हैं, "क्योंकि जब वे बदले जाते हैं तो चीजों को ताज़ा करने की आवश्यकता होती है।"

यदि यह सिर्फ कैश साफ़ कर रहा है, तो 'पढ़ें लॉक के साथ फ्लश टेबल' पर्याप्त होगा?

उत्तर

17

डेटा परिवर्तनों के दौरान रीफ्रेश होने की आवश्यकता नहीं है। जब आप उन्हें पूछते हैं तो वे नवीनतम डेटा प्राप्त करेंगे।

वे आवश्यकता हो सकती है यदि आपके तालिका संरचना परिवर्तन फिर से बनाना:

दृश्य परिभाषा है "स्थिर" निर्माण के समय में है, तो अंतर्निहित तालिकाओं में परिवर्तन बाद में दृश्य परिभाषा प्रभावित नहीं करते। उदाहरण के लिए, यदि किसी तालिका को किसी तालिका पर SELECT * के रूप में परिभाषित किया गया है, तो तालिका में जोड़े गए नए कॉलम बाद में दृश्य का हिस्सा नहीं बनते हैं।

Source

+1

और अगर मैं मैं में नए स्तंभ जोड़ने के लिए दृश्य परिभाषा अद्यतन करने के लिए की आवश्यकता होगी चाहते थे? –

+2

@ विलियम: हाँ, अगर आप दृश्य में नए कॉलम दिखाना चाहते हैं। लेकिन मुझे नहीं लगता कि "सब कुछ ताज़ा करें" यह आपके लिए करता है। मुझे लगता है कि आपको दृश्य छोड़ना है और इसे फिर से बनाना है, या वैकल्पिक दृश्य का उपयोग करना है: http://dev.mysql.com/doc/refman/5.0/en/alter-view.html –

+0

धन्यवाद, मुझे लगता है कि यह समाधान है। इसे बदलने की जरूरत है। –

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