ユーザーIDを使用してパーティション化します
ユーザーID、各テーブル間でユーザーIDを使用します
ユーザーIDを使用してパーティション化します
モデレーター ユーザーIDを使用してパーティションを分割したいですテーブルを分割した後では、上記の機能を実装するのは困難です。例えば、どのユーザーが自分をフォローしているかを確認したいのですが、テーブルを分割した後、どのテーブルを確認すればよいかわかりません。すべてのサブテーブルを一度確認することによってのみ知ることができます。
別のフォローリストを保存することはできますか?
、あなたをフォローしているユーザーをユーザーリストに保存することはできますか?
テーブルを分割した後にどのテーブルをクエリするかわからないため、テーブルを分割することはできませんが、パーティション化することができます
パーティション分割されたテーブルは、依然としてテーブル全体であり (複数のファイルに分割されていますが)、実際のクエリは次のとおりです。ファイルはあなたではなく mysql によって決定されます
それでも自分でテーブルをパーティション分割したい場合は、user_id 列と follow_user_id 列の内容を交換して新しいテーブルを形成し、その後 2 つのテーブルをパーティション分割する必要があります
を使用しますユーザー ID を使用してテーブルを分割したいのですが、テーブルを分割した後、上記の機能を実装するのは困難です。例えば、どのユーザーが自分をフォローしているかを確認したいのですが、テーブルを分割した後、どのテーブルを確認すればよいかわかりません。すべてのサブテーブルを一度確認することによってのみ知ることができます。
テーブルを分割せず、SQL ステートメントを直接記述するだけです
1. どのユーザーがフォローされているかをクエリします: select `follow_user_id` from `table` where `user_id`='your id'
2. どのユーザーがフォローされているかをクエリします : select `user_id` from `table` where `follow_user_id`='your id'
3. 特定のユーザーとの共通フォローリストをクエリします。 select * from `table` where `user_id` in ('your id', 'a user id')
4. 相互にフォローしているかどうかをクエリします: select * from `table` where `user_id`='your id' and ` follow_user_id`='特定のユーザー ID' `user_id` in (select `follow_user_id` from `table` where `user_id`='特定のユーザー ID')
もちろん、おそらくもっと良い書き方があるでしょう。 4 番目の記事。
記事 4 に が抜けているので、書き直してください
テーブルを分割した後にどのテーブルを確認するかわからないからといって、テーブルを分割することはできませんが、パーティション化することはできません
分割されたテーブルはまだテーブル全体です(複数のファイルに分割されていますが)、どのファイルが実際にクエリされるかは、あなたではなく mysql によって決定されます
それでもテーブルを自分で分割したい場合は、user_id 列と follow_user_id 列の内容を次のように交換する必要があります。新しいテーブルを作成し、その2つをペアにします テーブル分割
ご回答ありがとうございます 参考にさせていただきます
テーブルを分割した後にどのテーブルを確認すればよいかわからないからといって、テーブルを分割するだけではなくパーティション化することはできません
それでも自分でテーブルを分割したい場合は、内容を交換する必要がありますuser_id 列と follow_user_id 列を組み合わせて新しいテーブルを形成し、その 2 つのテーブルを分割します
モデレータ パーティションの概念とは何ですか?私はコンピューターのパーティショニングしか理解していません
この文について詳しく教えていただけますか
「次に、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
アテンションは次のように一方向にすることもできます
select * from `表` where `user_id`='你的id' and `follow_user_id`='某个用户id' and `user_id` in (select `follow_user_id` from `表` where `user_id`='某个用户id')
user_id follow_user_id1 21 31 4
关于表分区可参见 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
你把主体确定了,事情就清楚了
版主 吾听了你的,开始明白你的想法啦。 谢谢了。要分表可能只有这样啦