मैं लेनदेन के बाहर कहूंगा। निश्चित रूप से PostgreSQL में, VACUUM को "मृत" tuples (यानी पुरानी पंक्ति जब एक रिकॉर्ड बदल दिया गया है या हटा दिया गया है) को हटाने के लिए डिज़ाइन किया गया है।
यदि आप लेनदेन में VACUUM चला रहे हैं जिसमें संशोधित रिकॉर्ड हैं, तो ये मृत पंक्तियां हटाने के लिए चिह्नित नहीं किया जाएगा।
आप किस प्रकार के वैक्यूम कर रहे हैं, इस पर निर्भर करते हुए, उसे एक टेबल लॉक की भी आवश्यकता हो सकती है जो अन्य लेन-देन चलने पर रोक देगा, ताकि आप संभावित रूप से डेडलॉक स्थिति में समाप्त हो सकें (लेनदेन 1 को अवरुद्ध कर दिया गया है टेबल लॉक को अपने वाक्यूम करने के लिए, ट्रांजैक्शन 2 को अवरुद्ध होने की प्रतीक्षा करने के लिए अवरुद्ध हो जाता है कि लेनदेन 1 लॉक हो गया है।)
मैं यह भी सिफारिश करता हूं कि यह किसी एप्लिकेशन में नहीं किया गया हो (शायद एक निर्धारित कार्य के रूप में) क्योंकि इसे पूरा करने में कुछ समय लग सकता है और अन्य प्रश्नों की गति को नकारात्मक रूप से प्रभावित कर सकता है।
SQL सर्वर के लिए, कोई वैक्यूम नहीं है - जो आप खोज रहे हैं वह कम हो गया है। आप 2005 में ऑटो सिकुंक चालू कर सकते हैं जो सर्वर द्वारा निर्णय लेने पर स्वचालित रूप से स्पेस को पुनः प्राप्त कर देगा, या डेटाबेस को कम करने और फ़ाइल लॉग फ़ाइल करने के लिए डीबीसीसी कथन जारी करेगा, लेकिन यह आपके बैकअप दिनचर्या और प्रति-डेटाबेस स्तर पर रणनीति पर निर्भर करता है।
स्रोत
2010-02-12 08:39:53
यह मोबाइल सिंक प्रक्रिया के बाद किया जाता है।पहले लेनदेन डेटाबेस पर बहुत संशोधन करता है। चूंकि यह मोबाइल पर किया जाता है, इसलिए मुझे डेटाबेस को कॉम्पैक्ट करने के लिए एक वैक्यूम जारी करना होगा। – Pentium10