テーブル変更やインデックス追加時にSELECTできるのか

テーブルの変更は運用に影響するのか?

運用中のテーブルを変更しないといけない場合は多々あります。
運用中のテーブルには大量データが登録されている場合があります。
テーブルの変更やインデックスの追加時に、そのテーブルは利用できるのでしょうか?

テーブルの変更

テーブル変更、つまり列を追加する場合、nullの列を追加するだけなら時間はかからず影響もありません。
一方、デフォルト値を設定して列を追加すると、データ量に応じた時間がかかります。SELECTにも影響するので危険です。
この場合、面倒でもnullで列を追加してからすこしづつ目的のデフォルト値で更新すべきです。

インデックスの追加

インデックスの追加は、データ量に応じて多少時間がかかってもSELECTに影響しません。
検索に時間がかかるようでしたら、必要なインデックスを追加することを恐れてはいけません。

タイトルとURLをコピーしました