N+1問題とはなにか?
N+1問題とはなにか。なんとなく、データベースで1対多とかあるからそういうことかなというのは感じ取れる。
ユーザーが1人に対して、複数の記事が紐づいている。このようなことに関するなにかかな?・・・・そうらしい。
SQLの発行
N+1問題とは、1つのテーブルと多(N)のテーブルへのSQLの発行がたくさんされてしまいパフォーマンスの低下につながるようというものらしい。
パフォーマンスの低下とは?
簡単にいうと、SQLがたくさん発行されるため、画面の表示までにとても時間がかかってしまうようになるよみたいなこと。
ほかにも、色々な影響が考えられるが、DBに高い負荷をかけてしまうため、システムにとって良くないことがたくさんつながる。
DB(データベース)はシステムを開発する上では、欠かせない存在。
サービスの成長と共にパフォーマンスが低下する
はじめはよくても、ユーザーがたくさん増えてサービスが成長していきデータの量が増えるとパフォーマンスに明らかな影響が出る。
そのため、実装をする段階でこのようなDBへの負荷も考えながらコードを書いていくことがプロフェッショナルだと思う。