有一个业务数据列表,假设如下面这样,有上插、下插的操作,数据库应该如何设计order?
- 浮点型order,插入的时候一直是前后的order相加除以2,但是这样总会有重复的,感觉,除非无限小数。
- order用很大的值,比如1000和2000,然后不停的除以2,感觉也会有重复的时候。
order | 操作 |
---|---|
1 | 上插 下插 |
2 | 上插 下插 |
常规做法要怎么做呢?
有一个业务数据列表,假设如下面这样,有上插、下插的操作,数据库应该如何设计order?
order | 操作 |
---|---|
1 | 上插 下插 |
2 | 上插 下插 |
常规做法要怎么做呢?
要解决这个问题,可以考虑以下几点:
基于以上几点,以下是一个可能的解决方案:
以上方案可以在保证精度的同时,确保上插和下插的顺序正确,并且可以有效地处理并发控制。
前端不一定要懂这个排序需求,按照这个表格,前端首先知道的是,点上插,那么就是发起一个请求,告诉后端接口,要插上去了;如果是点下插也是一样,无非就是告诉接口,要插下面去了。
或者把上插和下插的操作记录保留着,在某个特定时刻提交给接口,统一请求并记录下来。
具体怎么算,跟前端有多少关系呢。
8 回答4.8k 阅读✓ 已解决
6 回答3.5k 阅读✓ 已解决
5 回答2.9k 阅读✓ 已解决
6 回答2.4k 阅读
5 回答6.4k 阅读✓ 已解决
4 回答2.3k 阅读✓ 已解决
4 回答2.8k 阅读✓ 已解决
我一般直接用整形,每次更新一页的数据即可,也不是很复杂。
有时候程序效率要让步与开发效率。