タグ

ALTERに関するkazuomabuoのブックマーク (2)

  • MySQLのテーブル定義変更の並列性

    GMOアドマーケティングのT.Kです。 ALTER TABLE 実行時に排他的ロックが発生する事を見落とし、パーティション削除を実行したら、Waiting for table metadata lockを大量発生させてしまいました。 対象テーブルが別セッションで参照されていない時なら、きわめて短時間で終わる処理でしたが、重いクエリの実行中だったのでロック取得待ちになりました。 その間の新しい参照はWaiting for table metadata lockでブロックされました。 忘れないために、ここに再現手順を残します。 前に触れた例外とは、ALTER TABLE が、テーブルの .frm ファイルの新しいバージョンをインストールし、古いファイルを破棄して、テーブルおよびテーブル定義キャッシュから古くなったテーブル構造をクリアする準備ができた時点で (書き込みだけでなく) 読み取りをブロ

    MySQLのテーブル定義変更の並列性
  • RDSでロックなしのALTER TABLE(pt-online-schema-change使用) - Qiita

    データ件数が大量に(レコード数100万以上とか)ある場合、ALTER TABLE時にテーブルの書き込みロックが無視できないレベル(時間)で発生します。 テーブルの書き込みロックについて MySQL5.5以前: ALTER TABLE時に発生 MySQL5.6以降: ALTER TABLEでカラムのデータ型変更、全文検索用インデックスの追加、プライマリキーの削除、文字コードの変換/指定 を行った時に発生 参考: http://takatoshiono.hatenablog.com/entry/2015/03/11/013316 pt-online-schema-changeを使用することで、テーブルロックなしでのALTER TABLEができます。 pt-online-schema-changeのインストール方法(Mac homebrew) $ brew install percona-too

    RDSでロックなしのALTER TABLE(pt-online-schema-change使用) - Qiita
  • 1