0

高校生向けのコミュニティサイトを開発しています。PHPを使用して、似たようなシステムと似ていないシステムを実装しようとしています。私が持っているものは次のとおりです。

  • likesapp_id VARCHAR(32)、user VARCHAR(12)、休止中の VARCHAR(6) という 3 つの列を持つ MySQL で名前が付けられたテーブル。

  • UNIQUE(app_id,ユーザー)

likes人が私のサイトのページを気に入ると、行がテーブルに挿入または更新されますdormant = false

人がページを気に入らない場合、存在する行は で再び更新されdormant = trueます。これは、好きなものと嫌いなものの迅速な作業には少し負荷がかかるため、行を削除する代わりの方法です。

誰かがページを気に入らない場合、行を更新する代わりに削除する必要があるかどうかを知りたいです。

4

3 に答える 3

1

行を削除しないでください。収集できるすべてのデータは、貴重なデータポイントです。また、すべての場合とは異なり、新しいレコードを作成する必要があると思います。

これらのデータは、将来、ユーザーの行動を把握するのに役立ちます。

一部のpplは、smthが好きな場合もあれば、それとは異なり、また好きになる場合もあります。

たぶん将来的には、アイテムを好きだった多くの人々が突然それを嫌い、それから再びそれを好きになった理由を知りたいと思います。

だから私はあなたができる限り多くのデータを収集すると言います。

于 2013-02-07T08:39:32.517 に答える
0

ページを高く評価または低く評価したユーザーの数を記録していないようです。この場合、LIKES多数のテーブルである必要があり、ページを保存するための APPS (または任意の名前) という別のテーブルが必要です。

**USER**
+---------+-------+-----+
| user_id |  name | ....|
+---------+-------+-----+
|    1    |  ...  | ... |
+---------+-------+-----+
|    2    |  ...  | ... |
+---------+-------+-----+

**APPS**
+---------+-------+-----+
| app_id  |  name | ....|
+---------+-------+-----+
|    1    |  ...  | ... |
+---------+-------+-----+
|    2    |  ...  | ... |
+---------+-------+-----+

**LIKES**
+---------+-------+----------+----------+
| like_id |user_id|  app_id  | is_liked |
+---------+-------+----------+----------+
|    1    |  1    |    2     |   1      |
+---------+-------+----------+----------+
|    2    |  1    |    3     |   0      |
+---------+-------+----------+----------+

ユーザーがページの「いいね!」( is_liked = 1)または「いいね!」をクリックした場合に切り替えることができる場所( is_liked = 0)

于 2013-02-07T08:57:44.927 に答える
0

時期尚早の最適化のように聞こえます。そうしないでください。

アプリケーションを使いたいように/機能するように設計します。忙しくなったら、ボトルネックを見つけて修正します。

数百万の規模に拡張できるようにアプリケーションを設計する場合は、別のデータベース エンジン/プログラミング プラットフォームを一緒に使用することを検討してください。

于 2013-02-07T08:26:20.000 に答える