आप ALTER TABLE
. का उपयोग कर सकते हैं SQL सर्वर में मौजूदा तालिका पर संपीड़न सक्षम करने के लिए कथन।
ऐसा करने के लिए, आपको REBUILD WITH
. का उपयोग करने की आवश्यकता है विकल्प, अपना वांछित संपीड़न प्रकार निर्दिष्ट करते समय।
उदाहरण
प्रदर्शित करने के लिए यहां एक उदाहरण दिया गया है।
ALTER TABLE Cats
REBUILD WITH (DATA_COMPRESSION = ROW);
इस मामले में मैंने पंक्ति संपीड़न का उपयोग करके तालिका का पुनर्निर्माण किया।
निम्नलिखित पृष्ठ संपीड़न के साथ इसका पुनर्निर्माण करता है।
ALTER TABLE Cats
REBUILD WITH (DATA_COMPRESSION = PAGE);
एकल विभाजन पर संपीड़न लागू करें
यदि आपकी तालिका विभाजित है, तो आप उस विभाजन को संपीड़न के साथ पुनर्निर्माण के लिए निर्दिष्ट कर सकते हैं।
ALTER TABLE Cats
REBUILD PARTITION = 1 WITH (DATA_COMPRESSION = ROW);
संपीड़न कैसे निकालें
आप NONE
. का उपयोग करके संपीड़न को हटा सकते हैं संपीड़न प्रकार के रूप में।
ALTER TABLE Cats
REBUILD WITH (DATA_COMPRESSION = NONE);
कॉलमस्टोर टेबल
यदि आप कॉलमस्टोर टेबल (क्लस्टर कॉलमस्टोर इंडेक्स के साथ संग्रहीत टेबल) का उपयोग कर रहे हैं, तो उपरोक्त संपीड़न प्रकार लागू नहीं होते हैं। इस मामले में, आपके संपीड़न विकल्प COLUMNSTORE
. हैं और COLUMNSTORE_ARCHIVE
।
सीमाएं/प्रतिबंध
संपीड़न के लिए सिस्टम तालिकाओं को सक्षम नहीं किया जा सकता है।
यदि तालिका एक ढेर (एक संकुल अनुक्रमणिका के बिना एक तालिका) है, तो ONLINE
के लिए पुनर्निर्माण कार्य मोड सिंगल थ्रेडेड होगा। बहु-थ्रेडेड हीप पुनर्निर्माण कार्य के लिए, OFFLINE
का उपयोग करें मोड।
साथ ही, विभाजित तालिकाओं का उपयोग करते समय, निम्नलिखित प्रतिबंध लागू होते हैं:
- यदि तालिका में गैर-संरेखित अनुक्रमणिकाएँ हैं, तो आप एकल विभाजन की संपीड़न सेटिंग नहीं बदल सकते।
ALTER TABLE <table> REBUILD PARTITION ...
सिंटैक्स निर्दिष्ट विभाजन का पुनर्निर्माण करता है।ALTER TABLE <table> REBUILD WITH ...
सिंटैक्स सभी विभाजनों का पुनर्निर्माण करता है।