1
/
5

DBチューニングの必要性

おはようございます!ヒプスターSE/営業/採用担当の原田です。

記入者のモチベーションを保つためにも、記事を見てくださった方は是非いいね!をお願いします(*'ω'*)

シェアをして頂けたら泣いて喜びます(ノД`)・゜・。


さて、本日はデータベースのチューニングって必要なの?という記事です。

駆け出しエンジニアの方にはまだあまりご縁がないタスクですが、DBの構成やデータ量が膨大になってくると一回のSELECT文の実行で結果が出るまで数秒~数十秒もかかる事例は多くあります。

これは純粋にデータ量が多いということ、サーバのスペックが間に合ってない、たまたまたその時間にクエリ実行が集中した、など様々な理由があるかと思います。

しかし、いつの時間でも、レコード数がそこまで多くないテーブルでも、発生する状況が多い場合はそもそもSQL文の見直しや適切なインデックスの使用が求められます。


ヘッダ画像は、とあるDBでインデックスを貼る前と貼った後の時間を抽出比較しているものです。

4回目はインデックスを貼った直後に実行するとクライアントから送信されるデータ量が倍になっているため遅延しているもので、この調査には必要のない値なのです。

右三つと左三つを比較すると、左側が早くなっているのがわかるかと思います。

左側はインデックスを貼った後の値なので、効果があるということが言えます。

実際に前職の社内システムにおいても、200行くらいのSELECT文があり、その実行結果を表示するのに29秒掛かっていました。

私が書いたクエリ文だったのですが、流石におかしいと思いPK以外にもインデックスを貼ることにし、なんと同じSELECT文が1秒で表示されるようになりました(; ゚Д゚)・・・


駆け出しの方はまだ他に勉強することがたくさんあると思いますが、実務経験を積んだ先に待っているであろう業務です。心の片隅にでも置いておいて貰えれば幸いです。


そんな高速化、効率化を業務としている弊社ではインターン(学生の場合卒業間近の方or近々に就職を考えている方)と社員を募集しております。

社員の場合は実務経験3年以上、3年未満の場合はインターンでのご応募となります。(2年10~11カ月くらいならご経歴次第では3年として考慮します)

私たちとお仕事しましょう!お待ちしております!

話しを聞きに行きたいのところにはインターンの募集を貼っていますが、実務3年以上の方向けの募集もありますのでそちらも是非見て頂ければと思います!

株式会社ヒプスター's job postings
1 Likes
1 Likes

Weekly ranking

Show other rankings
If this story triggered your interest, go ahead and visit them to learn more