0

どうすればこの問題を解決できるかお聞きしたいです。この機能を自分のサイトに追加したいと考えています。しかし、何が最善の解決策になるのか正確にはわかりません。私はmysqlテーブルを考えていました:このようなもの

ID | id_user_who | user_seen
 1       2             10

ID 2 のユーザーに ID 10 のユーザーが表示されました。しかし、これは良い解決策でしょうか?

4

4 に答える 4

1

これは良い解決策であり、唯一の正しいアプローチだと私は信じています。ID列 (最初の列)を取り除くだけです。これは間違いなく役に立たない代理キーです。代わりに、ペア(id_user_who, user_seen)を主キーとして設定します。

主キーはインデックスであり、追加のインデックスは必要ないことに注意してください。

David がアドバイスしたように、コラムにはもっと慎重に名前を付けてください。

visitor_idやのようなものを提案したいと思いvisited_idます。

于 2013-03-17T16:26:54.737 に答える
0

それが本当にSOの質問かどうかはわかりません....しかし、いずれにせよ、そのようなことをする場合、タイムスタンプまたはヒット数(および最後の訪問)を追加します...

于 2013-03-17T15:03:28.413 に答える
0

はい、それは良い解決策です。検索/カウントが高速になるように、列にインデックスが付けられていることを確認してください。必要に応じてレコードを期限切れにできるように、「date_viewed」列を追加することも検討してください。

于 2013-03-17T15:03:28.943 に答える
0

それは大丈夫な解決策のようです。使用するのは理にかなっています。@JDに同意します。インデックスが作成されていることを確認し、おそらくdate_viewed列を追加してください。そうすれば、データを並べ替えるときに、より多くのオプションを利用できます。

于 2013-03-17T15:03:54.070 に答える