SeekQueryLab: SQLは、クエリチューニングの強力な学習ツールです。SeekQueryLabでは、SQLのクエリングに没頭し、スキルを探求・習得・最適化する旅に出ます。初心者から経験豊富な開発者まで、実験的な学習環境を提供し、一緒にSQLの深みを探求しましょう。(翻訳調だなあ)
- できる
- EXPLAINで実行計画を見て、クエリをチューニングする
- できない
- いちからSQLの書き方を学ぶ
- (DB以外のレイヤーを含んだ)総合的なWebパフォーマンスチューニング
なお、クエリチューニングの概要や実行計画の読み方についての記事を書いたので、よければ参考にしてみてください。
- クエリチューニングの概要
- 実行計画の読み方
- リポジトリをローカルの適当な場所にクローンする
git clone https://github.com/mconfjp/SeekQueryLab.git
- 初期化スクリプト実行
sh init_copy.sh
- docker起動
docker compose up --build
- 50万行くらい作ってるので重たいです。5分とかかかる(insertをチューニングしたい)
- MySQLにログインして動かしてみる
- .envにユーザー情報あります
小説投稿サイトのシステムを想定しています。ユーザー数は3万人、投稿作品数は3万作品としました。ここらへんの数字は大きすぎるとセットアップに時間がかかってしまうので適当な規模にしています。
機能は色々あると思いますが、今回クエリチューニングの対象として重ための処理をいくつか用意しています。例えばトレンド作品やランキングとかは割と集計が重たくなるため、チューニングのしがいがありますね。
もりたの趣味リポジトリなので、どんな組織・個人が使っても問題ありません。ただ、使ってみたよとか一言もらえるともりたがメンテを頑張るのでお互いwin-winだと思います。
何か不具合とか要望があればGithubのissueを立ててください。それなりの感じで対応します。
- このリポジトリの紹介記事はこちら
- リポジトリの更新ログはこちら
- チューニングするにあたって参考になる書籍やWebページ
- データベースを勉強したいあなたに送る技術書17冊(+11冊1講義7link)
- この記事のSQL本やチューニングの節で挙げられている書籍がおすすめ
- 日本PostgreSQLユーザー会のYoutube動画
- いろいろチューニング関連の動画があってどれも良いのでおすすめ
- データベースを勉強したいあなたに送る技術書17冊(+11冊1講義7link)