数据排序权重设置实现方案
假设现在有4个数据需要排序,要求你提出实现方案
初始权重为0,逐个更改
- 实现1
给每一个元素都设置一个初始化权重0,通过每次设置每个元素的权重来进行排序
,权重越大就会越前
优点:实现简单,可以任意配置权重来安排任意位置
缺点:用户体验不好,需要对每个元素都需要设置权重来进行排序,如果对于权重的判断不够严谨,有可能会导致权重太大超出系统储存范围
初始权重连续,批量更新权重
- 实现2
给每一个元素设置从小到大的一段连续的权重,每次需要变更顺序的时候分两个步骤进行
1. 将自身的权重设置为想要的位置权重
2. 将比目标权重小(大)的记录的权重减1(加1)
优点:实现简单,对用户体验较好,移动元素用户操作步骤较少
缺点:如果权重跨越越大,需要改动的记录越大,有可能会引起性能问题
采用链表结构,修改指向
- 实现3
排序不再以权重的值排序来体现,而是使用链表的思想,每个元素都是存储他的前一个和后一个的元素地址,每次更改排序是只需要改动对应元素的指向即可
优点:更改变动少,不要考虑权重的范围值和记录变更太多导致的性能问题
缺点:实现较复杂,在数据库中存储不友好,不能通过一条orderby语句全部取出来
柠檬好酸啊: 一元RPC模式body应该只会在一个frame里面吧,不会有多个。 另外想问一下,http2里面不强制header和body的顺序吧,grpc里面header和body会乱序吗
Ayang..: 对不起名字
叨陪鲤: 一般般吧
YuTZer: 这也敢叫全网最详细啊
打不死的小强lee: 使用是使用了,但是type=index。扫整个索引文件。效率也不行的。这种sql也行不好滴