若手技術者向け講座レポート SQLチューニング第2回(インデックス)
詳細
インデックス
SQLチューニングの2回目はのテーマはインデックス。
インデックスとは、データベース内でのデータの検索を速くするための仕組みです。
日本語でいえば索引。本の後ろについているあの索引です。
インデックスが使われているSQLと使われていないSQLでは、
速度に大きな差が出ます。
そして、インデックスが使われるかどうかを意識するには、
インデックスの仕組みと構造が分かっている必要があります。
ということで、インデックスについて講義しました。
講義内容
まずはインデックスとは何なのか、そして、あるのとないのではどう違うのか。
それを説明しました。
まずは、データベースを辞書に例えて、索引があるときとないときで検索がどう変わるかをイメージしてもらいました。
そのあと、それをコンピュータがどのように実現してるかを説明しました。
基本的な知識を伝えた後は、演習の時間としました。
演習は、様々なSQL文を用意して、果たしてインデックスが使われるのか、
使われないのかを考えてもらいました。
3~4人でグループを作成してもらい、
グループ内で意見を出し合う形式にしました。
アンケート結果
この回からアンケートを取るようにしました。
アンケートの項目としては
- 理解度(0~100%)
- 業務に活かせそうか(1~4)
- 進行はスムーズだったか(1~4)
- 全体の満足度(1~4)
1が悪かった、4が良かった、となっています。
それ以外で、進め方や講義に対しての自由記述欄を設けました。
結果は以下の通りです。
参加者の声
インデックスを辞書で例えたのがイメージしやすかった。 インデックスが使用される・されないの細かい違いまでは理解できなかったが、頑張って勉強する。
インデックスが使用されない条件指定が知れて良かった。
ディスカッション形式で意見を交わした後に、解説があったのでより理解できた。
実演で説明してもらえれば、もっとイメージがしやすいと思いました。
振り返り
アンケートの結果や、講義の中でのリアクションを見ていると、概ね満足いただけたように感じます。
インデックスのイメージをホワイトボードに板書しながら分かりやすく説明することを意識していたので、
多くの方が分かりやすかったとおっしゃってくれていました。
ホワイトボードでの説明が多めだったので、
もう少し自分たちで手を動かす実習を入れるとさらに理解を深めることができそうです。