对于公告或者菜单或者帖子一般会有拖拽排序的需求,这个时候数据库设计呢。本文就来简述一下几个方案。html
方案 | 概述 | 优势 | 缺点 |
---|---|---|---|
存json | 对于每次排序,涉及影响的列表做为一个大json从新更新 | 省事 | 列表太大的话,每次更新太多很差 |
每次更新受影响记录的排序字段 | 假设有个position字段,每拖拽其中一条记录,则要同步影响受影响的列的position字段 | 前端操做省事 | 同步更新的记录有点费劲 |
只更新指定记录的排序字段 | 先后项差值除以2 | 简单 | 除2太多有精度问题 |
链表方案 | 存储先后记录的位置 | -- | 排序太费劲 |
简单方法实现拖拽排序数据库