1

私は巨大なテーブル(10GB以上)を持っています。一部の開発者は、bigint(250) 列を追加するのを間違えました。bigint(8)に戻したい

MODIFYステートメントを使用すると、CHANGEを使用するよりもはるかに高速です

テーブルの個人を変更する PersonId bigint(8) auto_increment を変更します。

よりも速い

テーブルの個人を変更する PersonId PersonId bigint(8) auto_increment を変更します。

これに関する私の意見は、変更はテーブルを再構築することであり、変更することではないということです。しかし、この場合、modify は (ボンネットの下で) 正確に何をしているのでしょうか?

4

1 に答える 1

1

MODIFY は列の名前変更を試みません。CHANGE は、ターゲット名が現在の名前と同じであっても名前を変更しようとします。これがおそらく、もう少し時間がかかる理由です。

于 2013-04-23T23:27:20.820 に答える