前のページ

100 万レコードを超える DB で遊んでみる

Docker ファイルで MySQL8 の環境を用意しています

早速ですが、100 万レコードを超えるデータを作成するためのサンプル用の Docker ファイルを作成しておきましたので、ぜひ使ってみてください。

https://github.com/mergitto/doker-dummydata-sample

README を参考にデータを作ってみてください

100 万超えのレコードを作ることができる sql をつけているので、楽しめると思います

やってみたら面白そうなこと

  • index 効く効かない?
  • order by つけたらどうなる?
  • サブクエリ使ってみる

チューニングが必要になる例

  1. type=ALL or type=index で rows が大きい
  2. Extra に Using temporary; Using filesort で rows が大きい
  3. select_type が DEPENDENT SUBQUERY
  4. JOIN における 2 つ目以降の Extra に Using where が出力されていて rows が大きい
  5. 大量更新・データ削除

まとめ

今回は詳しくは説明しませんが、上記のことを手元の環境で試してみると良さそうです。詳しい解説はまた別の機会でやります

このページでは、Google Analyticsを利用しています。