AxiZ沖縄ブログ

エンジニア育成学校【AxiZ沖縄】のブログです。

若手技術者向け講座レポート SQLチューニング第1回(SQLの基礎)

詳細

  • テーマ:SQL基礎(SQLチューニング 1/4)
  • 日時:2018年10月11日 19:00~21:00
  • 場所:CODE BASE
  • 参加人数:20人弱(正確には把握できませんでした。すみません...(>_<))

SQL基礎

若手技術者向け講座、最初のテーマはSQLチューニングにしました。
SQLとは、DB(データベース)を扱うための言語です。
GoogleAmazonを利用するとき、検索をしますよね。
この時、検索結果がすぐに返ってこないとストレスに感じますよね(^-^;

自分たちでシステムを作るときも、お客様の使い勝手を考えて、データの検索を速くする必要があります。
データベースを扱うときは、検索の速度はSQLの書き方によって大きく変わってきます。
SQLチューニングとは、速度を意識したSQLを書いたり、
速度の遅いSQLの原因の分析して速いSQLに書き換えることをいいます。
最初の技術講座ではSQLチューニングのための知識やテクニックを扱うことにしました。

2時間でSQLチューニングのノウハウを伝えるのは厳しかったので、
4回に分けました。
その中の第1回目はSQL基礎。
まずはSQLを全体的に復習しながら、 演習を通して、実践的なSQLも学んでもらいました。

講義内容

全体の流れとしては、環境構築をした後、SQL基礎を講義で説明。
後半に演習、という流れでした。

環境構築では、手順書に沿ってPostgreSQLをネットからダウンロードし、PCにインストール。

SQLの講義では、

  • GROUP BY
  • DISTINCT
  • 結合
    • クロス結合
    • 内部結合
    • 外部結合
  • ORDER BY
  • サブクエリ
  • CASE式

を解説。

後半は演習を実施。
環境構築で作成したデータをもとに、SQLを組んでもらいました。

振り返り点

始めて実施した若手技術者向けの講義でしたが、一番の課題は時間配分でした。
環境構築に予想以上に時間がかかってしまいました。
手順書は用意していましたが、ダウンロードとインストールでかなり時間がかかったり、 途中で躓いてサポートが必要な人が多数出てきたりと、環境構築に多くの時間を使ってしまいました。
結果的に、演習の時間を少ししか設けることができず、解説もできないまま終わってしまいました。
環境構築に関しては、何か対策を考えるべきだと思いました。

初回は非常に多くの方に参加していただきました。(担当営業のおかげですが。)
講義のレベルとしては、2~3年目を対象に作成しておりましたが、 様々な年数の方がいたようで、理解できた人もいれば、難しかった人もいたようです。
全体の満足度を上げるために、さらに分かりやすくしていく必要がありそうです。

参考にした書籍

今回の講義内容は以下の書籍を参考にしました。