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

पोस्टग्रेस्क्ल में कॉलम पर न्यूल सेट करने से प्रदर्शन में वृद्धि होती है?

सेटिंग NOT NULL प्रदर्शन पर प्रति से कोई प्रभाव नहीं पड़ता है। चेक के लिए कुछ चक्र - अप्रासंगिक।

लेकिन आप वास्तव में डमी मूल्यों के बजाय एनयूएलएल का उपयोग करके प्रदर्शन में सुधार कर सकते हैं। डेटा प्रकारों के आधार पर, आप डिस्क स्थान और RAM की बहुत बचत कर सकते हैं , जिससे गति तेज हो .. सब कुछ।

नल बिटमैप केवल तभी आवंटित किया जाता है जब पंक्ति . में कोई NULL मान हो . यह हर के लिए एक बिट है पंक्ति में कॉलम (NULL या नहीं)। टपल हेडर और पंक्ति डेटा के बीच एक अतिरिक्त बाइट का उपयोग करते हुए, 8 कॉलम तक की तालिकाओं के लिए नल बिटमैप प्रभावी रूप से पूरी तरह से मुक्त है। उसके बाद, MAXALIGN . के गुणकों में स्थान आवंटित किया जाता है (आमतौर पर 8 बाइट्स, 64 कॉलम को कवर करते हुए)। पैडिंग के लिए अंतर खो गया है। तो आप प्रत्येक पंक्ति में पहले NULL मान . के लिए पूर्ण (कम!) मूल्य का भुगतान करते हैं . अतिरिक्त NULL मान केवल स्थान बचा सकते हैं।

किसी भी गैर-शून्य मान के लिए न्यूनतम संग्रहण आवश्यकता 1 बाइट है (boolean , "char" , ...) या आमतौर पर बहुत अधिक, प्लस (संभवतः) संरेखण के लिए पैडिंग। डेटा प्रकार पर पढ़ें या सिस्टम टेबल pg_type . में खूनी विवरण की जांच करें ।

शून्य संग्रहण के बारे में अधिक जानकारी:



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. PostgreSQL में सीलिंग () कैसे काम करती है

  2. क्या कोई समझा सकता है कि Postgresql भूमिकाएँ, Postgresql उपयोगकर्ता और Linux उपयोगकर्ता एक दूसरे से कैसे संबंधित हैं?

  3. ट्रिगर त्रुटि पर रोलबैक लेनदेन

  4. देव स्नैपशॉट के लिए टेबल के केवल कुछ हिस्सों के डंप को पोस्टग्रेज करता है

  5. IN के साथ पोस्टग्रेज क्वेरी बहुत धीमी है