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

क्या पोस्टग्रेज अपडेट पर पूरी पंक्ति को फिर से लिखता है?

c) चुनना आपके प्रश्नों से:

जैसा कि @Craig पहले ही समझाया जा चुका है , कॉलम जो "टोस्ट-सक्षम" होते हैं और एक निश्चित सीमा से बड़े होते हैं, उन्हें प्रति टेबल समर्पित टोस्ट टेबल (अलग "रिलेशन फोर्क्स", डिस्क पर अलग फाइलें) में आउट-ऑफ-लाइन संग्रहीत किया जाता है। तो, एक 5 एमबी bytea कॉलम अपडेट में अधिकतर अछूता रहेगा यदि कॉलम स्वयं नहीं बदला गया है। मैनुअल:

बोल्ड जोर मेरा।
मुख्य संबंध कांटा में पंक्ति अभी भी कॉपी की गई है और अद्यतन होने पर एक मृत पंक्ति पीछे रहती है (चाहे कोई मान वास्तव में बदला गया हो या नहीं)। बड़ी पंक्ति आकारों के लिए, निम्न समाधान भुगतान कर सकते हैं:

एक छोटी 1:1 तालिका अलग करें . बनाएं बार-बार बदले गए झंडे के लिए। बस प्राथमिक कुंजी (=एक ही समय में विदेशी कुंजी) और बार-बार बदले गए झंडे। यह अद्यतनों को बहुत तेज़ कर देगा और डिस्क स्थान को संरक्षित करेगा - प्रारंभिक अतिरिक्त ओवरहेड के लिए और प्रश्नों के लिए कुछ लागत जिन्हें दोनों तालिकाओं में शामिल होने की आवश्यकता होती है (अन्य प्रश्न वास्तव में तेज़ हो जाते हैं)। तालिका पंक्तियों की ऑन-डिस्क स्थान आवश्यकता के बारे में अधिक जानकारी:



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. पोस्टग्रेज:पैरामीटर के साथ क्वेरी से निष्पादन योग्य क्वेरी प्राप्त करें

  2. PostgreSQL में सभी ऑब्जेक्ट्स से COMMENT ON हटाना

  3. PostgreSQL:टेबल बनाने का समय

  4. ऑपरेशनल एरर को कैसे ठीक करें:(psycopg2.OperationalError) सर्वर ने अप्रत्याशित रूप से कनेक्शन बंद कर दिया

  5. प्रत्येक क्लाइंट के लिए सेपरेट पोस्टग्रेएसक्यूएल डीबी, सिंगल Django ऐप और एक ही सर्वर पर क्लाइंट बनाने पर स्वचालित माइग्रेशन के साथ