MySQLの初期のALTER TABLEの実装は非常にシンプルな実装でした。 新しいテーブル定義で(内部的に)一時テーブルを作成し、そこに既存のデータをコピーして、コピーが終わったら入れ替えます。コピー中は更新をブロックします。
MySQL v5.6 で オンラインDDL がサポートされ、更新がブロックされなくなりました。 また、v8.0 では、INSTANT ADD COLUMN が登場し、カラム追加が一瞬できるようになりました。
このように MySQL の …
[さらに読む]TL;DR
2回目の「MySQL リリースノートを見てわいわい言う勉強会」を開催しました。今回は MySQL 8.0.21版。mysql.connpass.com 過去2回の知見、および今回得た情報の一部をメモとして書いておきます。 MySQL リリースノートのセクション いくつかのカテゴリに分かれて解説されている カテゴリは、一番下のほうに 「Functionality Added or Changed」と「Bugs Fixed」の2つがある。昔はこの2カテゴリしかなかった 上部にあるカテゴリ解説は、上記2つのカテゴリの中から、特に解説したいものがある場合にピックアップして詳細に説明している、という位置…
MySQL Parameters というページを公開してたら
@tmtms still love this https://t.co/388NNoxxfr but would be so cool to have group_replication parameters too ;-)
— lefred (@lefred) 2020年7月24日
と言われたんだけど、mysqld --no-defaults --help --verbose
でパラメータ一覧を取得してるんで、プラグインであるグループレプリケーションは組み込まれる前だから値が取れないんだな。
と思ってたら、--plugin-load というオプションでできることを教えてもらった。
mysqld --plugin-load=group_replication.so …
[さらに読む]MySQL Sever Blog に MySQL Shell 8.0.21 の Dump / Import 機能についてエントリーが投稿されています。 並列化により非常に高速に Dump / Import 出来ることなどが示されてます。非常に強力なツールであることが感じられます。
MySQL Shell Dump & Load part 1: Demo! | MySQL Server Blog
とりあえず動かしてみる
\help util.dumpInstance で説明が見れます。
threads や maxRate
オプションでパフォーマンスの調整ができそうです。
$ mysqlsh root@localhost mysqlsh …[さらに読む]
yoku0825 さんが、面白そうなブログを書いていました。 yoku0825.blogspot.com MySQLの auto_increment 列は キーカラムである必要がありますが、このキーは複合キーでも構わない。ただし 複合キーの場合は、InnoDB ではキー指定のうちの1つめのカラムである必要があり、MyISAMなら2つめ以降のカラムでも良い、という違いがあるそうです。 mysql> create table tt1 (c1 integer auto_increment, c2 integer, c3 integer, key(c2, c1, c3)) engine=innodb;…