एक विरल स्तंभ 4x स्थान का उपयोग नहीं करता है किसी मान को संग्रहीत करने के लिए, यह एक (निश्चित) 4 अतिरिक्त बाइट्स . का उपयोग करता है प्रति गैर-शून्य मान। (जैसा कि आप पहले ही बता चुके हैं, NULL 0 स्पेस लेता है।)
-
तो एक गैर-शून्य मान बिट . में संग्रहीत है कॉलम 1 बिट + 4 बाइट्स =4.125 बाइट्स होगा। लेकिन अगर इनमें से 99% NULL हैं, तब भी यह एक शुद्ध बचत है।
-
GUID (UniqueIdentifier) . में संग्रहीत एक गैर-शून्य मान कॉलम 16 बाइट्स + 4 बाइट्स =20 बाइट्स है। तो अगर इनमें से केवल 50% ही NULL हैं, तो यह अभी भी एक शुद्ध बचत है।
तो "अपेक्षित बचत" इस बात पर बहुत अधिक निर्भर करती है कि किस प्रकार हम जिस कॉलम के बारे में बात कर रहे हैं, और आपका अनुमान है कि कौन सा अनुपात शून्य बनाम गैर-शून्य होगा। वेरिएबल चौड़ाई कॉलम (varchars) शायद सटीक भविष्यवाणी करना थोड़ा मुश्किल है।
इस पुस्तकें ऑनलाइन पृष्ठ में कितना प्रतिशत दर्शाने वाली एक तालिका है लाभ के साथ समाप्त करने के लिए विभिन्न डेटा प्रकारों को शून्य होना चाहिए।
तो कब क्या आपको स्पैस कॉलम का उपयोग करना चाहिए? जब आप पंक्तियों के एक महत्वपूर्ण प्रतिशत के लिए NULL मान की अपेक्षा करते हैं। कुछ उदाहरण जो दिमाग में आते हैं:
- ए "आदेश वापसी तिथि " ऑर्डर तालिका में कॉलम। आप उम्मीद करेंगे कि बिक्री का एक बहुत छोटा प्रतिशत लौटाए गए उत्पादों में परिणाम देगा।
- एक "चौथा पता " पता तालिका में पंक्ति। अधिकांश डाक पते, भले ही आपको विभाग का नाम और "देखभाल" की आवश्यकता हो, शायद 4 अलग-अलग पंक्तियों की आवश्यकता नहीं है।
- ए "प्रत्यय " ग्राहक तालिका में कॉलम। काफी कम प्रतिशत लोगों के नाम के बाद "जूनियर" या "III" या "एस्क्वायर" होता है।