प्रदर्शन, अखंडता और डिस्क डेटाबेस परत में भंडारण के संबंध में, मैं इसके बारे में चिंता नहीं करता।
- परिवर्तनीय-लंबाई डेटा जैसे वर्चर, टेक्स्ट और ब्लॉब पैडिंग के बिना संग्रहीत किया जाता है।
- मुझे अखंडता के साथ कोई समस्या नहीं है। सभी डेटा प्रकारों को डेटाबेस इंजन द्वारा परमाणु रूप से इलाज किया जाता है।
- बेशक यदि आपके पास वास्तव में लंबा टेक्स्ट डेटा है तो यह उस डेटा को प्राप्त करने पर डिस्क I/O और नेटवर्क बैंडविड्थ के लिए अधिक संग्रहण और अधिक समय लेगा। लेकिन अगर वह डेटा है जिसे आपको डेटाबेस में रखना है, तो आपको यही करना है।
मैं एक संभावित प्रभाव के बारे में सोच सकते हैं:
कुछ क्लाइंट इंटरफ़ेस पुस्तकालयों पूर्व आवंटित एक बफर परिणाम धारण करने के लिए, और वे सबसे अधिक संभावित मूल्य के लिए पर्याप्त स्मृति आवंटित है, क्योंकि ग्राहक पता नहीं है डेटा प्राप्त करने तक डेटा।
इसलिए पुस्तकालय प्रति mediumtext
पर 16 एमबी आवंटित करेगा जबकि यह text
के लिए 64 केबी आवंटित करेगा। यह देखने के लिए कुछ है कि क्या आपके क्लाइंट परत में कम मेमोरी सीमा है। उदाहरण के लिए, PHP में स्क्रिप्ट के लिए memory_limit
कॉन्फ़िगरेशन पैरामीटर है, और डेटा परिणाम सेट के लिए आवंटित बफर इस पर गिना जाएगा।
स्रोत
2010-08-18 20:33:49
त्वरित प्रतिक्रिया के लिए धन्यवाद, बिल! – scooterhanson
'कुछ क्लाइंट इंटरफ़ेस लाइब्रेरीज़', मैंने पाया है कि यह स्मृति समस्या PHP में पुरानी mysql लाइब्रेरीज़ के साथ एक समस्या थी। हालांकि, 3 साल बाद यह अब कोई समस्या नहीं होनी चाहिए। – kasimir
@ कासिमीर: PHP 5.6 और पीडीओ के साथ, 'मध्यम टेक्स्ट' 'text' से अधिक स्मृति का उपयोग करता है (उसी मान के साथ, एक खाली स्ट्रिंग)। मेरे सरल परीक्षण में, अंतर 0.5 एमआईबी बनाम 1.5 एमआईबी है। – Bell