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

Postgres 9.x में CHECK बाधाओं की लागत क्या है?

कुछ लोग NULL avoid से बचने की कोशिश करते हैं मान, तर्क का दावा करना भ्रमित करने वाला होगा।

मैं उन लोगों में से नहीं हूं। NULL बिना डेटा वाले कॉलम के लिए मान ठीक हैं। वे निश्चित रूप से "खाली" कॉलम को स्टोर करने का सबसे सस्ता तरीका हैं - डिस्क स्थान के साथ-साथ प्रदर्शन के लिए (मुख्य प्रभाव छोटे टेबल और इंडेक्स हैं):

एक बार जब आप समझ जाते हैं NULL . की प्रकृति मूल्यों, उनसे बचने का कोई कारण नहीं है। पोस्टग्रेज एनयूएलएल से निपटने के लिए कई प्रकार के कार्य प्रदान करता है। colaesce() , nullif() , concat() , concat_ws() , ...

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

प्रदर्शन पर सबसे अधिक प्रासंगिक प्रभाव (उप-इष्टतम सूचकांक और क्वेरी को छोड़कर) इसलिए आकार . है तालिकाओं और सूचकांकों की संख्या या, अधिक महत्वपूर्ण बात, प्रति डेटा पृष्ठ पर टुपल्स की संख्या . अधिकांश उपयोग के मामलों के लिए बड़े टुपल्स धीमे प्रदर्शन की ओर ले जाते हैं। किसी क्वेरी को संतुष्ट करने के लिए पढ़ने वाले डेटा पृष्ठों की संख्या तदनुसार बढ़ जाती है। उपलब्ध कैश मेमोरी पहले संतृप्त होती है।

मेरे पास बेंचमार्क तैयार नहीं है, लेकिन फिर भी अपने विशेष परिवेश के लिए परीक्षण करना सबसे अच्छा है। ये अंगूठे के सिर्फ सरल नियम हैं। वास्तविकता बहुत अधिक जटिल है।




  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 रुझान:सबसे लोकप्रिय क्लाउड प्रदाता, भाषाएँ, VACUUM, क्वेरी प्रबंधन रणनीतियाँ और एंटरप्राइज़ में परिनियोजन प्रकार

  2. पोस्टग्रेस्क्ल में बिटमैप इंडेक्स का विकल्प

  3. PSequel GUI का उपयोग करके मैक पर लोकलहोस्ट PostgreSQL से कैसे कनेक्ट करें?

  4. पोस्टग्रेएसक्यूएल सबक्वेरी लाइक . का उपयोग कर रहा है

  5. कॉलम प्रकार को रेल में लंबे समय तक स्ट्रिंग में बदलना