Docker ファイルで MySQL8 の環境を用意しています
早速ですが、100 万レコードを超えるデータを作成するためのサンプル用の Docker ファイルを作成しておきましたので、ぜひ使ってみてください。
https://github.com/mergitto/doker-dummydata-sample
README を参考にデータを作ってみてください
100 万超えのレコードを作ることができる sql をつけているので、楽しめると思います
やってみたら面白そうなこと
- index 効く効かない?
- order by つけたらどうなる?
- サブクエリ使ってみる
チューニングが必要になる例
- type=ALL or type=index で rows が大きい
- Extra に Using temporary; Using filesort で rows が大きい
- select_type が DEPENDENT SUBQUERY
- JOIN における 2 つ目以降の Extra に Using where が出力されていて rows が大きい
- 大量更新・データ削除
まとめ
今回は詳しくは説明しませんが、上記のことを手元の環境で試してみると良さそうです。詳しい解説はまた別の機会でやります