有一个表表示一个列表的每一小项 id/name/order, 其中 order 表示小项在列表中的顺序
现在这个列表是可以拖动进行排序的, 这样的话每次排序都会产生大量的 order 变化, 比如 1 移到 4, 就会产生 2->1
/ 3->2
/ 4->3
/ 1->4
一共 4 个 order 变化
类似的, 加入 1 移到 100 的话就会产生 100 个 order 变化
如果批量更新的话, MySQL 的性能是个问题, 而且也无法保证原子性(部分更新 order 成功部分失败)
像这种带顺序的列表应该怎么设计?
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.