私のRailsアプリケーションでは私はショップモデルを持っています。時間間隔の効率的な方法
私は平日に格納する必要があるなどの営業時間に対応:
月曜日午後06時00分 - 午前2時
火曜日19:00 - 午前1時
など。
私は多くを持っていることを期待店のレコードの私は迅速なアクセスについて多くを気にしていれば、それを格納するための最良の方法は何ですか?
1つの方法は、Postgresql hstoreタイプを使用することです。
私は店のテーブルにoppening_hours列に
を"Monday" => "18:00-2:00", "Tuesday"=>...
のようなハッシュを続けるだろうか私は、単純なリレーショナルアプローチ
class Schedule < ApplicationRecord
#weekday:string, start_at:datetime, end_at:datetime
belongs_to :shop
end
class Shop < ApplicationRecord
has_one :schedule
#...
end
しかし、私は必要な任意の時間でそれを解決することができます店舗に関する情報を表示するには、私は2つのテーブルを照会する必要があります。
急速に成長しようとしている大きなテーブルについて話したときに、これが最適化されたソリューションであるかどうかはわかりません。
私はいくつかのアドバイスをいただければ幸いです。
私はハッシュを使用することをお勧めします。スケジュールと呼ばれる列を作成し、そこにハッシュを格納します。 – davidhu2000
範囲の種類が気になる:https://www.postgresql.org/docs/current/static/rangetypes.html –