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 んデフラグインデックスを、しかし、そうするINPLACEの潜在的な利点として、それを無効化する、(何とか)COPY。
ALTER TABLE ... ALGORITHM=INPLACE一時的な列(DATE、DATETIMEまたはTIMESTAMP)が含まれたテーブル用と使用して再構築されませんでしたALTER TABLE ... ALGORITHM=COPY」... オンラインDDLの制限事項