MySQL

2009-12-03 7 views
9

में न्यूल और खाली के बीच क्या अंतर है MySQL में नल और खाली स्ट्रिंग के बीच क्या अंतर है?MySQL

इसमें कितना भंडारण स्थान लगेगा? उदाहरण के लिए

उपयोगकर्ता तालिका में

नाम: शून्य - अंतरिक्ष कितना अपनी ले

फोन: -कैसे अधिक स्थान अपनी ले

+0

पहले से ही उत्तर दिया गया है http://stackoverflow.com/questions/229179/null-in-mysql-performance- स्टोरेज – Donnie

+0

जैसा नहीं है – cHeE

उत्तर

4

न्यूल का उपयोग करने के वैध कारण हैं, लेकिन पंक्ति भंडारण में स्थान सहेजना एक नहीं है। यदि आप 'पता नहीं' प्लेसहोल्डर एक नल का उपयोग करना चाहते हैं; यदि आप बस एक खाली स्ट्रिंग को स्टोर करना चाहते हैं जो खाली स्ट्रिंग की तरह व्यवहार करता है, तो आगे बढ़ें और खाली स्ट्रिंग स्टोर करें। यदि यह एक वर्चर कॉलम है (जो शायद यह होगा) तो यह शायद ही कभी बहुत अधिक जगह ले रहा है।

20

शून्य के बारे में सोचने का सबसे अच्छा तरीका है कि यह जहरीला है।

एनयूएलएल के साथ किए गए किसी भी ऑपरेशन में कुल उत्पादन होगा।

न्यूल + कोई भी संख्या प्रकार शून्य है। कुल मिलाकर कोई स्ट्रिंग शून्य है। बचत यह डेटाप्रकार स्तंभ परिभाषित किया गया है पर निर्भर करता है

mysql> select concat('hello world', null); 
+-----------------------------+ 
| concat('hello world', null) | 
+-----------------------------+ 
| NULL      | 
+-----------------------------+ 

mysql> select concat('hello world', ''); 
+---------------------------+ 
| concat('hello world', '') | 
+---------------------------+ 
| hello world    | 
+---------------------------+ 

अंतरिक्ष के लिए के रूप में:

रिक्त स्ट्रिंग 0.

उदाहरण की लंबाई के साथ एक श्रृंखला है।

4

संग्रहण स्थान इस के साथ आपकी चिंता नहीं होनी चाहिए। इसके बजाय आपको न्यूल के अर्थशास्त्र से चिंतित होना चाहिए। मान लें कि मेरे घर पर एक गिलास था जिसे आपने कभी अपने जीवन में नहीं देखा है। अगर मैं आपसे पूछता हूं कि उस गिलास में कितना पानी है, तो आप एक वैध जवाब नहीं दे सकते। सच्चाई यह है कि आप नहीं जानते। अब अगर मुझे ग्लास मिला और आपको दिखाया गया कि इसमें कोई पानी नहीं था, तो जवाब जो आप मुझे दे देंगे वह "कोई नहीं" है। नल "मुझे जवाब नहीं पता" और खाली स्ट्रिंग है "मुझे पता है और जवाब खाली स्ट्रिंग है"।