1
/
5

ポートフォリオのバージョンアップ     2020 7/2 (N + 1 問題)

みなさんこんにちわ!
駆け出しエンジニアのスグルと申します。
今回初めてストーリーを投稿するのですが、何を書いたらいいのかわからなかったので本日行ったポートフォリをのN + 1 問題について投稿します。

先日ポートフォリを完成させたのですが、まだまだ機能を追加したり改善を行いたいと考えてこれはエンジニアあるあるなのかと思います(笑)
そこで今回は、N + 1 問題をポートフォリオに対応させたいと思います。

私が今回ポートフォリオに作成した言語はRubyのRuby on Railsを使用しているのですがRailsにはN + 1 問題が存在します。
N + 1 問題とは.............?
簡単に言えば必要以上にSQLの処理が行われてシステムのパフォーマンスが低下してしまう問題です。
私のポートフォリオは今はデータ量が少ないので問題はないのですが、データ量が増えていくと大きな問題になります。ロード時間が長かったっりするといやですもんね。
そこでN + 1 問題発生していたら発生場所の特定と改善を行いたいと思いいろいろ調べてみるとRailsのGemでBulletとゆうGemがN + 1 問題が発生していたら発生箇所を教えてくれると知り早速使ってみることにしました!

Gemの導入と設定を終えていざ確認!
と、思ったのですが気になる箇所を見てみたのですが、特にN + 1 問題を見つけられず導入を失敗したかと思いました............

なので、無理やりN + 1 問題を発生させようとコードを変えてみると........
下にN + 1 問題が発生していると表示されました!!!!!

他のページに遷移してもN + 1 問題を知らせるアラートは特になかったので................
結論、このポートフォリオにはN + 1 問題が発生していないことがわかりました!!!!
取り越し苦労でよかったです。
しかし、本来であればポートフォリオ作成中に調べることがよくて完成して後にやることではないと思います。まだまだ知らないことが多く勉強しなくちゃと痛感しました。

明日も勉強頑張るぞー!!!!