Railsでは比較的新しいです。Rails - 大きなテーブルと分散テーブル
私はDeviseを通じてUserモデルを持っています。私は別のプロファイルモデルでユーザーに必要なすべての追加フィールドを持つ方が効率的かどうか疑問に思っています。
新しいモデルを作成し、そのモデルにhas_one関連付けを使用することを検討しているような状況に遭遇していますが、ユーザーモデル内のユーザーに属しているすべての属性を持っていれば、どのようにこのような状況に対処していますか?アプリケーションのパフォーマンスにどのような影響がありますか?
特にパフォーマンスの面で、has_one関係を作成することの利点と欠点について詳しく説明できます。
ActiveRecordは、そのデータをキャッシュしてキャッシュする必要がないかぎり、関連付けを取り消さないことについて比較的知的です。それについて考えるもう1つの方法は、ユーザーテーブルにすべての追加データがあると、誰かがシステムにログインしようとするたびにそのデータにアクセスして照会するということです。私の経験では、ユーザーテーブル上のすべてのことが、関連付けよりもはるかにあなたのアプリケーションを駄目にしています。また、すべてのデータを参照すると、メモリの2倍の75,000のオブジェクトと、メモリの1/2の150,000のオブジェクトの量はいくらですか。 – rmw