約 150 のホテルを扱う旅行代理店向けに、php と mysql を使用してホテル料金、割り当て、予約を管理するシステムを開発しました。ホテルの客室料金は日付によって異なりますので、テーブルのデザインはおおよそ次のとおりです。
hotel_tbl{
hotel_id,
hotel_name
}
room_type_tbl{
room_type_id,
room_type_name,
hotel_id
}
room_rates_tbl{
room_type_id,
**from_date,
**till_date,
meal_basis,//(Breakfast,halfboard,fullboard) BB,HB,FB
sleeps,//(Single,Double,Triple) SGL,DBL,TPL
currency,
room_rate
}
ホテルの料金は日付によって変動するため、複雑なツアー パッケージの計算 (複数のホテルを含む) のテーブルをクエリすると、パフォーマンスが予想よりも遅いことに気付きました。私の質問は、以下のような日付範囲 (私のシステムには約 150 のホテルが含まれています) を使用する代わりに、各日付のレート行を使用すると、パフォーマンスが向上すると思いますか?
room_rates_tbl { // A row for each day as opposed to using a date range
room_type_id,
**date,
meal_basis,//(Breakfast,halfboard,fullboard) BB,HB,FB
sleeps,//(Single,Double,Triple) SGL,DBL,TPL
currency,
room_rate}
質問が十分に明確であることを願っています...
より明確にするために質問を更新しました。部屋のタイプは、たとえば「スタンダード ルーム」、「デラックス ルーム」、または「ファミリー ルーム」です。睡眠には、シングル、ダブルなどのいずれかが含まれます。マーケット グループ向けであったため、関連性がないため、質問から market_type を削除しました。 (国など) 料金の対象です。私の質問は、料金テーブルのクエリに関しては、日付範囲を使用するよりも日付の料金を保存する方が効率的であるということでした。