エンジニアの @nukisashineko です。
社内カンファレンスの TechCon2023 に
20分枠の登壇側として参加させていただきました。
登壇内容としては下記スライドになります。
- RDS_performance_insightと実行計画 との付き合い方 - DBとINDEXを学ぼう
ターゲット
想定ターゲットは下記のように定めました。
- DBを知らない人
- INDEX の作成/メンテをしたことがない人
そのため、なるべくわかりやすくを心がけました。
制約
RDS performance insight のスクショをいくつも使った上で、
外部公開可能な資料にすることに多少苦労し、本番DBのものを利用しています。
そのため今回の資料はベタが多く、
DB 構造や index 定義については省略させて頂いています。
ご了承ください。
発表内容の概要
ざっくりまとめると、下記のようなことを発表しました。
- DB と INDEX とは
- DB を我々が選ぶ理由として主な理由は下記の3つ
- 優秀な transaction
- IO の高速性
- データに対する制約適用
- DB と INDEX の関係
- 理論の RDBMS を実用のために高速化
- 制約や高速なIO、lock の実現を行う
- DB を我々が選ぶ理由として主な理由は下記の3つ
- INDEX の基礎〜応用
- INDEX の基礎
- create index ...
- アンチパターン:ショットガンインデックスの誤解
- インデックスのオーバーヘッドを正しく知る
- 改善すべきクエリの見つけ方
- RDS performance insight の使い方
- 客観的なINDEXの評価方法
- 実行計画の見方
- 実行計画からの INDEX 作成方法
- INDEX の基礎
- 実践
- 実際の解決手順を追ってみよう
感想等
発表後の感想には、
- DB 触ったこと無いけど興味深かった
- RDS performance insight について興味を持った
と言ったものもあり、個人的にはターゲットに向けて届けられたかなと満足です。
また機会があれば、社内社外含めて登壇できたら嬉しいです。