クエリ要件は次のとおりです:
1. どのユーザーがフォローされているかをクエリします。
2. どのユーザーがフォローされているかを確認します。
3. ユーザーと共有されているウォッチ リストをクエリします。
4. 相互フォローしているかどうかを確認します。
テーブルを使用して、user_id follow_user_id add_time 列の形式で上記の関数を実装します。
ただし、注目量が比較的多いため、ユーザーIDごとにテーブルを分割する必要があります。テーブル構造を適切に設計する方法がわかりません。
友達、アドバイスをお願いします。ありがとうございます
ユーザーIDを使用してパーティション化します
ユーザーID、各テーブル間でユーザーIDを使用します
ユーザーIDを使用してパーティション化します
別のフォローリストを保存することはできますか?
、あなたをフォローしているユーザーをユーザーリストに保存することはできますか?
テーブルを分割した後にどのテーブルをクエリするかわからないため、テーブルを分割することはできませんが、パーティション化することができます
パーティション分割されたテーブルは、依然としてテーブル全体であり (複数のファイルに分割されていますが)、実際のクエリは次のとおりです。ファイルはあなたではなく mysql によって決定されます
それでもテーブルを自分でパーティション分割したい場合は、user_id 列と follow_user_id 列の内容を交換して新しいテーブルを形成し、その後 2 つのテーブルをパーティション分割する必要があります
ユーザー ID を使用してパーティションを分割する
select * from `表` where `user_id`='你的id' and `follow_user_id`='某个用户id' and `user_id` in (select `follow_user_id` from `表` where `user_id`='某个用户id')
テーブルを分割した後にどのテーブルをチェックするかわからないからといって、テーブルを分割することはできませんが、パーティション化することはできません
パーティション分割されたテーブルは、依然としてテーブル全体ですあなた テーブル (複数のファイルに分割されていますが)、実際にクエリされるファイルはあなたではなく mysql によって決定されます
それでも自分でテーブルを分割したい場合は、user_id 列と follow_user_id 列の内容を交換する必要があります新しいテーブルを作成し、その 2 つを比較します それぞれのテーブルを分割します
テーブルを分割した後にどのテーブルを確認すればよいかわからないからといって、テーブルを分割することはできませんただし、パーティション化します
パーティション化されたテーブルは、あなたにとっては依然としてテーブル全体です (複数のファイルに分割されていますが)。どのファイルが実際にクエリされるかは、あなたではなく mysql によって決定されます
それでも自分でテーブルを分割したい場合は、 user_id 列と follow_user_id 列の内容を交換して新しいテーブルを形成し、その 2 つのテーブルのサブテーブルをペアにする必要があります
テーブルのパーティショニングについては、http://www.baidu.com/s?ie=utf-8&bs=mysql%E5%88%86%E5%8C%BA%E8%A1%A8&f=8&rsv_bp=1&wd= を参照してください。 mysql %E5%88%86%E5%8C%BA&rsv_sug3=1&rsv_sug=1&rsv_sug1=1&rsv_sug4=26&inputT=796
アテンションは次のように一方向にすることもできます
user_id follow_user_id1 21 31 4
follow_user_id user_id 2 13 14 1
关于表分区可参见 http://www.baidu.com/s?ie=utf-8&bs=mysql%E5%88%86%E5%8C%BA%E8%A1%A8&f=8&rsv_bp=1&wd=mysql%E5%88%86%E5%8C%BA&rsv_sug3=1&rsv_sug=1&rsv_sug1=1&rsv_sug4=26&inputT=796
关注可以是单向的,比如这个
user_id follow_user_id1 21 31 4
follow_user_id user_id 2 13 14 1
如果 user_id follow_user_id 表示 user_id 被 follow_user_id 关注
那么 follow_user_id user_id 表示 follow_user_id 关注了 user_id
你把主体确定了,事情就清楚了
单独保存一个关注表
或者把关注你的用户也存到用户表里可行不?
如果 user_id follow_user_id 表示 user_id 被 follow_user_id 关注
那么 follow_user_id user_id 表示 follow_user_id 关注了 user_id
你把主体确定了,事情就清楚了
ollow_user_tbl_1
follow_user_id user_id
1 1
11 1
21 1
follow_user_tbl_2
follow_user_id user_id
2 1
12 1
22 1
楼上说的不就是一个用户关联表么?为什么是两个?一个就可以实现这个功能了。