オブジェクトが好きな場所でデータベーススキーマをセットアップしようとしています。 多くの場合、任意のオブジェクトの好きな数の合計にアクセスする必要があります。リレーショナルデータベースで「好きな数」を実装する方法
Iセットアップ二つのテーブル:新しい行が好きに挿入されるたびにインクリメントされます
[OBJECT]
id
path
desc
[LIKES]
obj_id
user_id
timestamp
それは、フィールド「nr_of_likes」オブジェクト表のを実装するために私にローミングサービスになるだろう、表。 これは、オブジェクトあたりの好きな数の数よりもはるかに速くなければなりません。 問題は、私が冗長なデータを取得し、通常、私が勉強したものから、それは良くないことです。 この種の問題に関するベストプラクティスは何ですか? 「nr_of_likes」フィールドは実装できますか? あなたの意見をお寄せいただきありがとうございます!
パフォーマンス上の理由から非常に頻繁に使用される非正規化またはメモ化 –
'COUNT()'を得るのではなく、テーブルに好きな数の合計を含む列を追加するのは理想的ではありません。読むのが速いかもしれませんが、番号が変わるたびに常にその列を維持しなければならないことを考慮する必要があります。さらに、あなたはそれを好きな人のすべての概念を失います。冗長データは必ずしも悪いとは限りませんが、この場合重複していると考えているのは何ですか? – Siyual