一个关于排序的问题,求高性能解决办法。
需求:
index name
1 规则1
2 规则2
3 规则3
4 规则4
5 规则5
6 规则6
7 规则7
8 规则8
9 规则9
10 规则10
11 规则11
… ……
现在要实现自定义排序,
例如:
1:让“规则9”排到“规则2”下面
2:让“规则3”排到“规则7”下面
3:删除“规则5”
要求以上操作要保持index的连续性。
我个人的解决办法:
1:查出3-8的规则,遍历把index+1
“规则9”的index,update=3;
2:查出>7的规则,遍历把index+1
“规则3”的index,update=8;
然后查出>3的规则,遍历把index-1
3.删除“规则5”,查出>5的规则,遍历把index-1
这里的规则信息比较庞大,这样的效率太差,但是实在没想出什么好的办法。请各位说说有没有更好的解决方案。
这里的index字段是备用字段,我准备设置为“index”使用,如上,
大家最好能不改变数据库实现,入需改变,能提高性能,也接受为好方法。
------解决方案--------------------
------解决方案--------------------