sql - 保存行排序顺序的最佳方法
问题描述
我有一个表格,其中的行具有特定的顺序。用户可以在排序的任何位置插入新行。
我们目前的策略是:
- 使用名为“order_index”的列和
Integer
类型 - 将行的“order_index”以 10000 分隔
- 插入新行时,在相邻行之间分配整数
- 如果行变得过于紧密(分隔一个),则锁定并重新分配“order_index”给所有行,递增 10000
这显然有点复杂,并且重新分配不是最优的,因为它需要的时间比我们想要的要长。 有什么更好的方法吗?
解决方案
如果您使用浮点索引,则中间总是有一个数字。
推荐阅读
- react-native - Flatlist 不平滑,每个项目都有很多图像
- linux - 如何在其他系统中执行二进制文件?
- javascript - 如何将由 JS 文件中的 IIFE 初始化的 var 导入到 TS 类?
- google-sheets - Google 表格 importHTML 删除零并将逗号视为小数
- symfony - 在 Symfony 4 中翻译带有参数的 flash 消息
- c - 如何满足有关 printf() 上不兼容类型的警告
- api - 航班优惠价格、航班优惠搜索、航班创建订单是使用缓存还是实时结果?
- docker - 在 docker 上运行的 Jenkins 构建中的 GOPATH 问题
- c# - c#服务将与邮箱连接,读取最后一个电子邮件文件(microsoft excel文件),此文件(excel文件)需要保存
- mysql - 连接查询中的 MySQL 更新执行非常慢