के बाद से MySQL 5.6 ऑनलाइन DDL शुरू की, ALTER TABLE
आदेश वैकल्पिक रूप से या तो हो सकता है ALGORITHM=INPLACE
या ALGORITHM=COPY
निर्दिष्ट। ऑनलाइन DDL नोटों का अवलोकन , जो डिफ़ॉल्ट रूप से, INPLACE
जहां भी संभव हो , का उपयोग किया जाता है, और इसका अर्थ है (कभी भी इसे काफी बताते हुए) कि INPLACE
एल्गोरिथ्म एक से सस्ता COPY
है।
तो मुझे कभी ALGORITHM=COPY
किसी ALTER TABLE
कथन पर क्या कारण बताना होगा ?
OPTIMIZE TABLE
(जो मुझे लगता है कि इसके उद्देश्य के एक बड़े हिस्से के रूप में अनुक्रमित डीफ़्रैगिंग है ) ALGORITHM=INPLACE
MySQL 5.7.4 के रूप में उपयोग करता है । तो मुझे लगता है यह मामला है कि, हाँ, है COPY
करता है defrag अनुक्रमित है, लेकिन ऐसा नहीं करता हैINPLACE
(किसी भी तरह), का एक संभावित लाभ के रूप में यह समाप्त करते हुये COPY
।
ALTER TABLE ... ALGORITHM=INPLACE
लिए समर्थन नहीं करती हैं , जिनमें अस्थायी कॉलम (DATE, DATETIME या TIMESTAMP) शामिल हैं और जिनका उपयोग करके पुनर्निर्माण नहीं किया गया है ALTER TABLE ... ALGORITHM=COPY
..." ऑनलाइन DDL की सीमाएँ