【心姐救我】关于,三级分销,数据库如何设置。1级 2级 3级 如何有效的查

提问 已结 5 1813
陈豪
陈豪 2018-6-16
悬赏:20飞吻

我的客户表是这样设计的,

表名 t_client
字段1 id
字段2 名子
字段3 推荐人id(也就是上级id 也就是 client_id)


就是利用这个推荐人id 进行三级查询的。



假如说,数据量非常大。 1级 2级 3级 数据都非常大。

如果有效率的查2级 查3级。

=====================备注=================
如果是查这个客户的 1级团员,直接使用limit分页 过虑 推荐人id = 此客户的id

但是 一旦查到2级 或者 3级的话 数据量非常大。 如何分页,查2级 3级。。

============================================
大家有没有啥好的方案。
推荐下。或者思路。
回帖
  • 再加个二级推荐人id 和三级推荐人id
    0 回复
  • 陈豪
    2018-6-16
    我现在想的是,

    查1级团员就比较简单了。

    如果查此客户的2级团员。肯定是把1级的团员查出来完。然后根据这个1级团员的id查2级。

    如果查3级的话,肯定是所有2级查出来完。再查3级。

    如果数据量大,这样做是不是有弊端。

    有没有啥好的解决方案。
    0 回复
  • 增加字段,推荐关系关联树。。举个栗子:1,2,3,4,5,6,7,8,9,10 。然后MySQL查询即可。。
    0 回复
  • 陈豪
    2018-6-16
    @疾风的轨迹 你这方法 还是比较 简单爆力的。
    0 回复
  • 1,增加字段 layer 级层 1级1 2级2 3级3 查询2级就直接layer=2
    2,增加字段 parentid 父级id
    3,增加字段 parentidlist 所有父级集合 ,1,2,3, 找id为1的所有子用户 parentidlist like '%,1,%'

    DB优化 parentid添加索引(mysql的优化比较不好弄,mssql比较容易)
    0 回复