どうすればこの問題を解決できるかお聞きしたいです。この機能を自分のサイトに追加したいと考えています。しかし、何が最善の解決策になるのか正確にはわかりません。私はmysqlテーブルを考えていました:このようなもの
ID | id_user_who | user_seen
1 2 10
ID 2 のユーザーに ID 10 のユーザーが表示されました。しかし、これは良い解決策でしょうか?
これは良い解決策であり、唯一の正しいアプローチだと私は信じています。ID
列 (最初の列)を取り除くだけです。これは間違いなく役に立たない代理キーです。代わりに、ペア(id_user_who, user_seen)
を主キーとして設定します。
主キーはインデックスであり、追加のインデックスは必要ないことに注意してください。
David がアドバイスしたように、コラムにはもっと慎重に名前を付けてください。
visitor_id
やのようなものを提案したいと思いvisited_id
ます。
それが本当にSOの質問かどうかはわかりません....しかし、いずれにせよ、そのようなことをする場合、タイムスタンプまたはヒット数(および最後の訪問)を追加します...
はい、それは良い解決策です。検索/カウントが高速になるように、列にインデックスが付けられていることを確認してください。必要に応じてレコードを期限切れにできるように、「date_viewed」列を追加することも検討してください。
それは大丈夫な解決策のようです。使用するのは理にかなっています。@JDに同意します。インデックスが作成されていることを確認し、おそらくdate_viewed列を追加してください。そうすれば、データを並べ替えるときに、より多くのオプションを利用できます。