有以下几个表:
Topic { topicID, userID, content, ... }:用户发表的主题贴表
Reply { replyID, userID, topicID, content, ... }:用户回复贴表
现在我想要扩展 Reply 表,让它能够记录每一个回复贴对于其主题贴是第几楼,假设我用 layer 这个列来表示
就产生以下两个问题:
- 那怎么在产生新的回复的时候根据已有 楼的高度 来设定这个新的回复贴的layer值呢?如果每次都要读取当前主题帖的楼高度再来设定会不会效率太低?
- 如果存在较高效的办法可以设定layer,当并发量大时,怎么解决竞争条件呢?
新增一个楼高字段、 插入数据的时候、楼高查询本主题的最大值 ,然后加1, 如此解决竞争,并发再大也不能是同一时刻插入。