MySQL संग्रहीत जेनरेटेड कॉलम और MySQL वर्चुअल जेनरेटेड कॉलम के बीच कुछ बुनियादी अंतर निम्नलिखित हैं -
डिस्क स्थान के संदर्भ में
यदि हम डिस्क स्थान के संदर्भ में अंतर देखते हैं तो वर्चुअल जेनरेट किए गए कॉलम कोई डिस्क स्थान नहीं लेंगे। दूसरी ओर, संग्रहीत जनरेट किया गया कॉलम डिस्क स्थान लेगा।
ऑपरेशन के संदर्भ में
यदि हम संचालन के संदर्भ में अंतर देखते हैं तो वर्चुअल जेनरेट किए गए कॉलम INPLACE ऑपरेशन हैं, जिसका अर्थ है कि सभी डेटा को फिर से कॉपी किए बिना टेबल की परिभाषा बदल दी जाती है। दूसरी ओर, संग्रहीत जनरेट किए गए कॉलम एक कॉपी ऑपरेशन हैं और इसकी लागत वही है जो तालिका में एक नया कॉलम जोड़ने की है।
गणना के संदर्भ में
वर्चुअल जेनरेट किए गए कॉलम में रीडिंग ऑपरेशन के दौरान और ट्रिगर से पहले मानों की गणना फ्लाई पर की जाती है। दूसरी ओर, संग्रहीत जेनरेट किए गए कॉलम में मान प्रत्येक INSERT और UPDATE स्टेटमेंट में अपडेट किए जाते हैं।
कब उपयोग करें
हमें डेटा के लिए वर्चुअल कॉलम का उपयोग करने पर विचार करना चाहिए जहां महत्वपूर्ण संख्या में परिवर्तन होते हैं। वर्चुअल कॉलम की लागत एक टेबल को लगातार पढ़ने से आती है और सर्वर को हर बार यह गणना करनी होती है कि वह कॉलम वैल्यू क्या होगी। दूसरी ओर, जब डेटा महत्वपूर्ण रूप से नहीं बदलता है या निर्माण के बाद बिल्कुल भी नहीं बदलता है, तो हमें संग्रहीत कॉलम का उपयोग करने पर विचार करना चाहिए।