2013-08-06 7 views
8

मैं MySQL के लिए बहुत नया हूं। मेरा प्रश्न गलत हो सकता है, अगर यह सही है या इसे समझाएं।MySQL में ढेर तालिका और अस्थायी तालिका के बीच अंतर?

मैं Google पर परिभाषा खोजकर हीप तालिका और अस्थायी तालिका के बारे में पढ़ता हूं। उनके बीच सटीक अंतर क्या है और दोनों का वास्तविक समय उपयोग क्या है?

मेरी जानकारी है या क्या मैं पढ़ लिया है के अनुसार:

ढेर तालिका: टेबल्स कि स्मृति में मौजूद ढेर टेबल के रूप में कहा जाता है। MySQL में एक HEAP तालिका बनाते समय, उपयोगकर्ता को TYPE को HEAP के रूप में निर्दिष्ट करने की आवश्यकता होती है। ये टेबल अब अधिक सामान्य रूप से मेमोरी टेबल के रूप में जाना जाता है। इन मेमोरी टेबलों में डेटा प्रकार जैसे "बीएलओबी" या "टेक्स्ट" के साथ मूल्य नहीं होते हैं। वे इंडेक्स का उपयोग करते हैं जो उन्हें तेज़ी से बनाते हैं।

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

उत्तर

8

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

जैसे ही आपका सत्र डिस्कनेक्ट हो जाता है अस्थायी तालिका गिरा दी जाएगी।

अस्थायी तालिकाओं को ग्राहकों के बीच साझा नहीं किया जाता है, हीप टेबल साझा किए जाते हैं। इसलिए प्रत्येक कनेक्शन के लिए अस्थायी तालिका अद्वितीय है, दूसरे कनेक्शन के लिए किसी अन्य कनेक्शन की अस्थायी तालिका मौजूद नहीं है।

अस्थायी तालिकाओं के लिए आपको एक विशेष विशेषाधिकार (अस्थायी तालिका बनाएं) की आवश्यकता होती है जबकि हीप टेबल केवल एक और स्टोरेज इंजन होते हैं।

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