まとまりのないブログ

something which something is something

mysql

mysqlのデータベースのテーブルから不要なフィールド(列)を削除

投稿日:

テーブルを再設計するために不要なフィールドを削除してみる。たしか前にフィールドを削除したときは、フィールドにインデックスが作成されている場合はフィールド削除の前にインデックスを削除しておかないとエラーが出たような記憶が・・・。今回はインデックスは削除済みなので問題は起こらないだろうという推測のもとにフィールドを削除してみる。

ac200902という名前のテーブルからregistDateという名前のフィールドを削除する。

mysql> ALTER TABLE ac200902 DROP registDate;
Query OK, 49343828 rows affected (4 hours 11 min 42.20 sec)
Records: 49343828  Duplicates: 0  Warnings: 0

この作業も予想よりかは随分早く済んだ。1日がかりの作業を覚悟していたが、約4時間で終わった。先ほどのインデックスの削除にかかった時間と同じ程度で終わったことになる。Debian amd64に載ってるopteronのおかげ、かな。

-mysql

執筆者:


comment

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)

関連記事

no image

全文検索エンジンmroongaを使ってみた

sennaをビルドして使っていたのだけれど、レコード件数と速度に限界を感じてきていたのでその後継といわれるmroonga3.04を使ってみた。使ってみた感想は、mroongaストレージエンジンでの全文 …

no image

mysqlのテーブルから不要なインデックスを削除する

テーブルを設計し直すために不要なインデックスを削除してみることにする。 mysql> drop index idx1 on ac200902; Query OK, 49398993 rows affe …

no image

Table 'テーブル' is marked as crashed and should be repaired

データベースへ接続してsqlを実行したときに Table ‘テーブル’ is marked as crashed and should be repaired というエラーが返ってきた。エラーの内容は …

no image

mysqlのレプリケーションでのエラー:ERROR 1064

レプリケーションしているサーバで時々エラーが発生してスレーブ動作が止まる。よくあることと思いsql_skip_slave_counterに1を代入してエラーが発生する度に飛ばしていたのだけれど、詳しく …

no image

UbuntuのMySQLの起動と停止

UbuntuにMySQLをソースから/usr/local/mysqlにインストールした場合。