Sqlserver
 sql >> डेटाबेस >  >> RDS >> Sqlserver

मुझे स्पार्स कॉलम का उपयोग क्यों और कब करना चाहिए? (एसक्यूएल सर्वर 2008)

एक विरल स्तंभ 4x स्थान का उपयोग नहीं करता है किसी मान को संग्रहीत करने के लिए, यह एक (निश्चित) 4 अतिरिक्त बाइट्स . का उपयोग करता है प्रति गैर-शून्य मान। (जैसा कि आप पहले ही बता चुके हैं, NULL 0 स्पेस लेता है।)

  • तो एक गैर-शून्य मान बिट . में संग्रहीत है कॉलम 1 बिट + 4 बाइट्स =4.125 बाइट्स होगा। लेकिन अगर इनमें से 99% NULL हैं, तब भी यह एक शुद्ध बचत है।

  • GUID (UniqueIdentifier) . में संग्रहीत एक गैर-शून्य मान कॉलम 16 बाइट्स + 4 बाइट्स =20 बाइट्स है। तो अगर इनमें से केवल 50% ही NULL हैं, तो यह अभी भी एक शुद्ध बचत है।

तो "अपेक्षित बचत" इस बात पर बहुत अधिक निर्भर करती है कि किस प्रकार हम जिस कॉलम के बारे में बात कर रहे हैं, और आपका अनुमान है कि कौन सा अनुपात शून्य बनाम गैर-शून्य होगा। वेरिएबल चौड़ाई कॉलम (varchars) शायद सटीक भविष्यवाणी करना थोड़ा मुश्किल है।

इस पुस्तकें ऑनलाइन पृष्ठ में कितना प्रतिशत दर्शाने वाली एक तालिका है लाभ के साथ समाप्त करने के लिए विभिन्न डेटा प्रकारों को शून्य होना चाहिए।

तो कब क्या आपको स्पैस कॉलम का उपयोग करना चाहिए? जब आप पंक्तियों के एक महत्वपूर्ण प्रतिशत के लिए NULL मान की अपेक्षा करते हैं। कुछ उदाहरण जो दिमाग में आते हैं:

  • ए "आदेश वापसी तिथि " ऑर्डर तालिका में कॉलम। आप उम्मीद करेंगे कि बिक्री का एक बहुत छोटा प्रतिशत लौटाए गए उत्पादों में परिणाम देगा।
  • एक "चौथा पता " पता तालिका में पंक्ति। अधिकांश डाक पते, भले ही आपको विभाग का नाम और "देखभाल" की आवश्यकता हो, शायद 4 अलग-अलग पंक्तियों की आवश्यकता नहीं है।
  • ए "प्रत्यय " ग्राहक तालिका में कॉलम। काफी कम प्रतिशत लोगों के नाम के बाद "जूनियर" या "III" या "एस्क्वायर" होता है।


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. tsql किसी फ़ंक्शन या स्टोर प्रक्रिया से तालिका लौटा रहा है

  2. एग्रीगेट फ़ंक्शन का उपयोग करके तालिका से अधिकतम और न्यूनतम मान कैसे प्राप्त करें - SQL सर्वर / TSQL ट्यूटोरियल भाग 129

  3. एकाधिक नामस्थानों के साथ SQL सर्वर एक्सएमएल क्वेरी

  4. लेन-देन के भीतर GO का उपयोग करना

  5. SQL सर्वर (T-SQL) में 'स्मॉलडेटटाइम' को 'डेटाटाइम' में बदलने के उदाहरण