首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >一次重订1000行的最佳方法是什么?

问一次重订1000行的最佳方法是什么?
EN

Stack Overflow用户
提问于 2010-07-30 04:27:54
回答 1查看 372关注 0票数 2

我在一个表中有1000条记录,其中包含从1到1000开始的位置字段。现在,我想实现1000条记录的重新排序功能。假设,如果我把第1000记录移到第1位,那么第1记录应该移动到第2位,第2记录移动到第3位,第999记录移动到第1000位。

注意:我每页显示20条记录。

我已经实现了重新排序功能使用jqGrid拖放插件。使用该技术,一次更新20个记录位置非常简单。在MySQL方面,我将触发20个更新查询来更新20个记录位置。

现在,我希望在“位置”列中有一个textbox字段,该字段保存当前记录位置。这样,用户就可以通过在文本字段中输入位置号将任何记录移动到任何位置,而不管拖放。假设,我在第50页,我想将第1000条记录移到第1位,我将在第1000位置文本字段中输入位置号为1。一旦我输入了位置号,重新排序逻辑就应该像我在第一段中所说的那样发生。

现在,有谁能告诉我如何一次更新1000条记录?MySQL的负载是什么?实现此功能的最佳方法是什么?

注意:我不想像在拖放功能中那样触发1000个更新查询(即为了避免MySQL死锁条件)。

谢谢大家提前帮忙。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2010-07-30 04:33:24

数以百计的更新有点荒谬。试着做这样的事情:

代码语言:javascript
复制
UPDATE Records SET
SequenceNumber = SequenceNumber + 1
WHERE SequenceNumber >= @Lowbound AND SequenceNumber <= @UpperBound;

UPDATE Records SET
SequenceNumber = @Lowbound
WHERE ID = @SelectedId;
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3368701

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档