Djangoを使ってWebアプリの開発を行っています。
その際、「django-debug-toolbar」というライブラリを使用しています。
このライブラリを使用すると、ページを表示する際に実行されたSQLの数とその実行時間が確認できます。
今回質問させていただきたいのは、「Webアプリ開発における、1ページに実行されるSQLの数の目安」です。
例えば、Djangoで以下のようなモデルとフォームがあったとします。
Models
1class Job(models.Model): 2 job = models.CharField(max_length=64) 3 4class Profile(models.Model): 5 name = models.CharField(max_length=20) 6 job = models.ForeignKey(Job, on_delete=models.CASCADE)
Forms
1class ProfileForm(forms.ModelForm): 2 class Meta: 3 model = Profile 4 fields = ('name', 'job')
このProfileFormを使用すると、JobモデルのSQLが実行されます。
つまり、Profileモデルに新たにForeignKeyのフィールドを追加し、フォームクラスでそのフィールドを追加する度にSQLの数が増えてきます。
もちろん、上記以外でもSQLが実行されるケースはいくつもあります。
そこで、みなさんはどういった基準でSQLの数を気にされているのか知りたく、質問させていただきました。
私も、いわゆる「N+1問題」などを気にして、なるべくSQLの数を減らすように作業を行なっていますが、基準がわからずどこまで行うべきか迷ってしまいます。
どのような意見でも構いません。
例えば、
・「単純に10以下に抑える。」
・「数が多くても実行時間が短ければ、数はそれほど気にしない。」
などの意見があるかと思いますが、「もっとこういったことを気にするべき」などがあれば回答していただきたいと思います。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。