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

PostgreSQL के साथ जगह में अपडेट

केवल इन-लाइन संग्रहीत फ़ील्ड को कॉपी करने की आवश्यकता है। TOAST तालिकाओं में आउट-ऑफ़-लाइन संग्रहीत फ़ील्ड के लिए, केवल TOAST प्रविष्टि का संदर्भ कॉपी किया जाता है।

कोई फ़ील्ड आउट-ऑफ़-लाइन संग्रहीत है या नहीं यह फ़ील्ड में मान के आकार और फ़ील्ड के डेटा प्रकार पर निर्भर करता है।

यदि टुपल्स बड़े हैं लेकिन केवल कुछ फ़ील्ड हैं - जैसे

some_id integer,
frequently_updated integer,
charblob text

तो कुछ भी बदलने का कोई मतलब नहीं है क्योंकि frequently_updated . के अपडेट आम तौर पर charblob में डेटा को फिर से नहीं लिखेंगे , कम से कम अगर यह इतना बड़ा है कि यह देखभाल के लायक है।

OTOH, यदि आपके पास बहुत सारी फ़ील्ड वाली तालिका है, तो आप प्रत्येक अपडेट के साथ बहुत कुछ फिर से लिखेंगे।

HOT केवल एक सीमित सीमा तक ही आपकी मदद करेगा क्योंकि एक HOT अद्यतन केवल तभी हो सकता है जब कोई अद्यतन स्तंभ (स्तंभों) किसी अनुक्रमणिका का भाग न हो और एक ही डेटाबेस पृष्ठ पर पर्याप्त खाली स्थान है। विस्तृत पंक्तियों के लिए आप TOAST के साथ भी एक पृष्ठ पर कई प्रतियां फिट नहीं कर पाएंगे, इसलिए HOT का सीमित लाभ होगा।

ऐसे फ़ील्ड को अलग-अलग तालिकाओं में अलग करने के लायक हो सकता है यदि वे वास्तव में अक्सर अपडेट होते हैं लेकिन शेष तालिका में विस्तृत पंक्तियां होती हैं जो ज्यादा नहीं बदलती हैं।




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. क्या JSONB PostgreSQL सरणियों को बेकार बनाता है?

  2. एक ट्रिगर फ़ंक्शन के भीतर, कैसे प्राप्त करें कि कौन से फ़ील्ड अपडेट किए जा रहे हैं

  3. PostgreSQL क्वेरी कैसे लॉग करें?

  4. क्या पोस्टग्रेज़ को साझा डेटा स्टोर पर लिखने के लिए डिज़ाइन किया गया है?

  5. Django स्थिरता विफल रहता है, DatabaseError बताते हुए:प्रकार वर्ण भिन्न के लिए बहुत लंबा मान (50)