【发布时间】:2011-02-08 17:56:46
【问题描述】:
在我的应用程序中,用户有一个项目列表,他们可以按照他们喜欢的任何顺序放置这些项目。数据库架构如下所示:
Items
+ Id : int
+ Name : string
+ Order : int
所以当用户整理东西时,它会相应地设置Order 字段,以便我稍后对其进行排序。太好了。
现在,我想进行 ajax-y 排序,这样用户可以按顺序拖放项目(并使用向上/向下箭头),它会自动保存所有内容。 (如果你熟悉 Netflix,他们会做类似的事情。)
我遇到的问题是,为了在用户进行更改时保留他们的更改,我需要在他们每次执行某项操作时进行 AJAX 调用。如果用户将一个项目从位置 10 移动到位置 1,这意味着我必须在那个小 ajax 调用中更新 10 条记录。同时,用户可能又排队了 3 个 AJAX 调用来更新其他记录。
这似乎效率低下,并且可能容易出错(由于竞争条件等,如果 AJAX 调用需要很长时间。)我应该担心这个吗?有没有更有效的方法来做到这一点?如果有所作为,我预计大多数用户需要排序的项目少于 5 个。
【问题讨论】:
标签: ajax language-agnostic sorting performance