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の制限事項