私は、私立保育所の小さな保護者向けのウェブサイトを構築しています。サイトの望ましい機能の 1 つは、ロケールの清掃を担当できる日を選択できるカレンダーを用意することです。今、私は仕事のカレンダーを作りました。目的に合わせて abit を変更した簡単なスクリプトをオンラインで見つけました。技術的にはうまく機能しますが、データベースから情報を抽出する方法を本当に変更する必要があるかどうか疑問に思い始めています。
カレンダーは毎月表示され、for ループを使用してテーブルとして描画されます。つまり、月によっては、ページが読み込まれるたびに for ループが 28 ~ 31 回実行されます。毎日の掃除の責任者を示すために、各メンバーの掃除日が保存されている MySQL データベースへの呼び出しを追加しました。擬似コードは次のようになります。
Draw table month
for day=start_of_month to day=end_ofmonth
type day
select member from cleaning_schedule where picked_day=day
type member
これは、ページをリロードするたびに、データベースに対して少なくとも 28 回の SELECT 呼び出しが行われることを意味します。私には、非効率的であり、DDOS 攻撃を受けやすい可能性があるように思えます。同じ結果を得るより効率的な方法はありますか? はるかに複雑な予約カレンダーがありますが、それらはどのように処理されますか?