大量盖楼回复的设计思路

盖楼回复里面包含有对回复的回复。


设计的几种思路:
1、用长短key来表示树结构;

---回复层数限制于key字段长度,采用16进制,主体回复5字段,其他4字段,分别对应100万和6万回复,key字段用255可以63层嵌套,key的生成有点麻烦;
---如果采用32位,每层4字符,每层就可以支持100万回复,其他可以5楼后只要3个字符就行;64进制3个字符可以表示10万;
---key生成规则:父记录的key加上回复父记录的序号,这个需要记得要转为16进制;---并发时不好处理,不过有重复的也无所谓;


2、子节点指向父节点;

---有递归调用,查询占用资源比较多,mysql中需要自定义函数,嵌套层数没有限制,做数据库迁移时可能会有问题;


3、左右节点范围指示节点关系:

---查询很快,但是插入时需要全部记录都需要修改;


4、复制前面回复,附加上新的;

---没有树结构,删除垃圾评论时,需要一个个删除已经回复的记录,占用空间大。


5、下面这种设计方式;

---设计有点复杂,不便于程序员实现。
http://explainextended.com/2009/09/29/adjacency-list-vs-nested-sets-mysql/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值