ゲストさんログイン

統合検索

ソーシャルブックマーク

[PR]興奮vs感動 どちらが勝つか!

Ads by Google

ページ詳細

25
users

漢(オトコ)のコンピュータ道: ALTER TABLEを上手に使いこなそう。

テーブル定義を変更したい。インデックスが壊れてしまったので再作成したい。そんな場合はALTER TABLEを使う。ALTER TABLEはテーブル定義を変更するお馴染みのコマンドであるが、その挙動は意外と知られていない。(エキスパートとおぼしき方々からも度々質問を受ける。)そんなわけで、今日はALTER TABLEについて解説しようと思う。 まず結論から言うと、なんとMySQLのALTER TABLEはテーブルのデータを全てコピーし直すのである。なんて無駄なことを!?と思うかも知れないが、テーブル定義(ス...


コメント

『まず結論から言うと、なんとMySQLのALTER TABLEはテーブルのデータを全てコピーし直すのである』<まぁそうでしょうな

>本当にスキーマの変更をしたい場合には注意するべき点が一つある。コマンドが一回で終わるように、カラムやインデックスの追加・削除を一行で書くということである。 / MySQLのALTER TABLEはテンポラリテーブルを用いて全データをコピーする。ので、コマンドの実行が1回で済むように配慮する。

このようなALTER TABLEコマンドであるが、使いようによっては便利な面もある。コマンドの実行中もテーブルからREADが出来るからだ。テーブルが壊れた場合には REPAIR TABLEコマンドを使うし、最適化したい場合にはOPTIMIZE TABLEコマンドを使うのだが、これらのコマンドはWRITEだけでなくREADもブロックしてしまう

Ads by Google


クリップ(19+6)
漢(オトコ)のコンピュータ道: ALTER TABLEを上手に使いこなそう&#12290;
livedoor クリップのトップに戻る