概要とか
ALTER TABLEを実行するとスキーマ変更ロックがかかりますが、 nullable なカラムを追加する場合と not null なカラムを追加する場合ではかかる時間が異なります。特に not null なカラムを追加する処理には注意するように、とMSDNにも記載されています。
で、実際のところどーなん?と思って計測してみました。
調査結果
測定対象テーブルのレコード数は約40万件です。サーバマシンはバーチャルマシンなので性能は不明。
詳しい結果は略。数値は10回試行の平均値で、単位は秒です。
nullableカラム追加 | not nullカラム追加 | insert文 |
---|---|---|
0.007 | 38.112 | 0.006 |
結論
nullable なカラムの追加は、1行insert文の処理とほぼ同じようです。
また、not null のカラム追加は時間がかかります。想像するに、全行UPDATEと同じだけ時間がかかっていると思われます。
One Reply to “nullableなカラム追加のコストはinsert文とほぼ同じらしい”