CN109408512A - 一种数据库排序位置移动方法 - Google Patents

一种数据库排序位置移动方法 Download PDF

Info

Publication number
CN109408512A
CN109408512A CN201811228345.7A CN201811228345A CN109408512A CN 109408512 A CN109408512 A CN 109408512A CN 201811228345 A CN201811228345 A CN 201811228345A CN 109408512 A CN109408512 A CN 109408512A
Authority
CN
China
Prior art keywords
data
moved
serial number
sequence
sort
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201811228345.7A
Other languages
English (en)
Inventor
黄洪冰
张永强
陶天林
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Wuhan Dameng Database Co Ltd
Original Assignee
Wuhan Dameng Database Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Wuhan Dameng Database Co Ltd filed Critical Wuhan Dameng Database Co Ltd
Priority to CN201811228345.7A priority Critical patent/CN109408512A/zh
Publication of CN109408512A publication Critical patent/CN109408512A/zh
Pending legal-status Critical Current

Links

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开一种数据库排序位置前移或后移的移动方法,包括以下步骤:步骤S1、根据排序号大小更新排序字段的排序号为从1开始的连续序号;步骤S2、将所有所述排序号扩大N倍,N为大于或等于2的整数;步骤S3、根据待移动数据的唯一键值获取所述待移动数据的排序号,如果需要进行数据前移操作,则将待移动数据的排序号减N,再减M;如果需要进行数据后移操作,则将待移动数据的排序号加N,再加M;M为大于0且小于N的整数;步骤S4、根据排序号大小重新更新所述排序字段的排序号为从1开始的连续序号。本发明提供的数据库排序位置移动方法只需知道移动数据的唯一键值和移动方向即可完成移动操作。

Description

一种数据库排序位置移动方法
技术领域
本发明涉及数据库排序方法技术领域,具体涉及一种数据库排序位置移动方法。
背景技术
在数据库中,有些数据表中设计有排序字段,用于标识数据的相对位置。这些数据在业务系统中,需要提供数据位置前移或后移的操作,用于改变数据的相对位置。在传统的算法中,需要交换待移动数据和参照数据的排序号才能实现,需要为每一种业务数据设计操作接口,不通用。
发明内容
本发明的目的在于克服上述技术不足,提供一种数据库排序位置移动方法,解决现有技术中数据移动需要调用较多业务接口、操作复杂、而且不通用的技术问题。
为达到上述技术目的,本发明的技术方案提供一种数据库排序位置移动方法,包括以下步骤:
步骤S1、根据排序号大小更新排序字段的排序号为从1开始的连续序号;
步骤S2、将所有所述排序号扩大N倍,N为大于或等于2的整数;
步骤S3、根据待移动数据的唯一键值获取所述待移动数据的排序号,如果需要进行数据前移操作,则将待移动数据的排序号减N,再减M;如果需要进行数据后移操作,则将待移动数据的排序号加N,再加M;M为大于0且小于N的整数;
步骤S4、根据排序号大小重新更新所述排序字段的排序号为从1开始的连续序号。
与现有技术相比,本发明的有益效果包括:本发明通过扩大排序号,使得相邻的数据的排序号之间空出空位,然后将需要移动的数据的排序号设置为待移动位置之前或之后,即可完成排序位置的移动,本发明只需要知道待移动数据的唯一键值和移动方向即可完成数据的移动操作。本发明提供的方法适用于所有业务数据的排序位置移动操作,只需要一个接口就可以实现,减少了业务系统的排序位置移动操作的接口数量,减少了跟业务相关的数据参数。
附图说明
图1是本发明提供的数据库排序位置移动方法的流程图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
实施例1:
如图1所示,本发明的实施例1提供了一种数据库排序位置移动方法,包括以下步骤:
步骤S1、根据排序号大小更新排序字段的排序号为从1开始的连续序号;
步骤S2、将所有所述排序号扩大N倍,N为大于或等于2的整数;
步骤S3、根据待移动数据的唯一键值获取所述待移动数据的排序号,如果需要进行数据前移操作,则将待移动数据的排序号减N,再减M;如果需要进行数据后移操作,则将待移动数据的排序号加N,再加M;M为大于0且小于N的整数;
步骤S4、根据排序号大小重新更新所述排序字段的排序号为从1开始的连续序号。
现有技术中,数据库中排序字段的数据移动原理是,交换移动数据与上一数据或下一数据的排序号。这种方法需要执行较多数据的后移操作,操作步骤繁琐,数据移动速度慢。在频繁的数据排序移动动作时尤其无法满足需求。
因此,本发明对现有数据库排序字段的数据移动方法进行了改进。本发明提供的数据库排序位置移动方法,其基本原理如下:先对排序字段进行初始化排序;然后扩大排序号的倍数,使得相邻的两个数据的排序号之间空出空位,以便后续数据的移动;将待移动数据的排序号加N+M或减N+M,使得待移动数据的排序号位于上一数据的排序号之前,或下一数据的排序号之后,最后根据排序号的大小重新进行连续排序,实现数据移动操作。排序号在操作过程中会发生改变,不能唯一对应待移动数据,需要唯一键值,例如主键值,来对应标识待移动数据。例如修改某个人的年龄,只能是根据身份证号修改,此时身份证号即唯一键值,而不能根据年龄修改,因为同龄的人不止一个,不具有唯一性。
具体的,下面以具体的排序字段为例进行详细说明。初始化更新排序字段的排序号为连续序号,初始排序字段如下表所示:
排序号 1 2 3 4 5 6 7 8 9 10
数据
插入排序目标为:将排序号为7的数据前移一位,移动至到排序号为6的数据之上。
先将所有排序号扩大10倍,排序字段如下表所示:
排序号 10 20 30 40 50 60 70 80 90 100
数据
将排序号70修改为70-10-1,即59,排序字段如下表所示:
排序号 10 20 30 40 50 60 59 80 90 100
数据
最后按照排序号的大小重新更新排序字段的排序号为连续序号,排序字段如下:
排序号 1 2 3 4 5 6 7 8 9 10
数据
即完成了将排序号为7的数据前移至到排序号为6的数据之上的数据移动目标。
本发明通过对排序字段的数据移动方法的简单调整,大大提高了数据移动的速度,降低了数据移动的复杂度。只需要知道移动数据的唯一键值和移动方向即可完成数据排序位置的移动,不需要调用其他业务接口,不易出错。
优选的,所述N取10。
将排序号扩充为原来的10倍,使得相邻数据的排序号之间多出空位,便于待移动数据的前移或后移。
优选的,所述M取1。
将移动数据的排序号加N后再加1,使得移动数据的排序号比下一位数据的排序号大1,后续重新排序即可完成数据的后移。前移与后移同理实现。加1或减1运算非常简单,可以进一步数据前移或后移的时间,提高数据移动速度。
优选的,所述步骤S1具体为:根据排序号大小更新排序字段的排序号为从1开始的连续序号。
从1开始的连续序号便于理解、辨识和运算。
优选的,所述步骤S4具体为:根据排序号大小重新更新排序字段的排序号为从1开始的连续序号。
实施例2:
本发明的实施例2提供了一种计算机存储介质,其上存储有计算机程序,所述计算机存储介质被处理器执行时,实现以上任一实施例所述的数据库排序位置移动方法。
本发明提供的计算机存储介质,用于实现上述数据库排序位置移动方法,因此上述数据库排序位置移动方法所具备的技术效果,计算机存储介质同样具备,在此不再赘述。
以上所述本发明的具体实施方式,并不构成对本发明保护范围的限定。任何根据本发明的技术构思所做出的各种其他相应的改变与变形,均应包含在本发明权利要求的保护范围内。

Claims (5)

1.一种数据库排序位置移动方法,其特征在于,包括以下步骤:
步骤S1、根据排序号大小更新排序字段的排序号为从1开始的连续序号;
步骤S2、将所有所述排序号扩大N倍,N为大于或等于2的整数;
步骤S3、根据待移动数据的唯一键值获取所述待移动数据的排序号,如果需要进行数据前移操作,则将待移动数据的排序号减N,再减M;如果需要进行数据后移操作,则将待移动数据的排序号加N,再加M;M为大于0且小于N的整数;
步骤S4、根据排序号大小重新更新所述排序字段的排序号为从1开始的连续序号。
2.根据权利要求1所述的数据库排序位置移动方法,其特征在于,所述N取10。
3.根据权利要求1所述的数据库排序位置移动方法,其特征在于,所述M取1。
4.根据权利要求1所述的数据库排序位置移动方法,其特征在于,所述步骤S1具体为:根据排序号大小更新排序字段的排序号为从1开始的连续序号。
5.一种计算机存储介质,其上存储有计算机程序,其特征在于,所述计算机存储介质被处理器执行时,实现如权利要求1-4任一所述的数据库排序位置移动方法。
CN201811228345.7A 2018-10-22 2018-10-22 一种数据库排序位置移动方法 Pending CN109408512A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811228345.7A CN109408512A (zh) 2018-10-22 2018-10-22 一种数据库排序位置移动方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811228345.7A CN109408512A (zh) 2018-10-22 2018-10-22 一种数据库排序位置移动方法

Publications (1)

Publication Number Publication Date
CN109408512A true CN109408512A (zh) 2019-03-01

Family

ID=65468755

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811228345.7A Pending CN109408512A (zh) 2018-10-22 2018-10-22 一种数据库排序位置移动方法

Country Status (1)

Country Link
CN (1) CN109408512A (zh)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110184954A1 (en) * 2005-05-06 2011-07-28 Nelson John M Database and index organization for enhanced document retrieval
CN103793451A (zh) * 2012-10-26 2014-05-14 国际商业机器公司 用于排序并表示数据元组集合的系统和方法
CN108628892A (zh) * 2017-03-21 2018-10-09 北京京东尚科信息技术有限公司 有序数据存储的方法、装置、电子设备和可读存储介质

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110184954A1 (en) * 2005-05-06 2011-07-28 Nelson John M Database and index organization for enhanced document retrieval
CN103793451A (zh) * 2012-10-26 2014-05-14 国际商业机器公司 用于排序并表示数据元组集合的系统和方法
CN108628892A (zh) * 2017-03-21 2018-10-09 北京京东尚科信息技术有限公司 有序数据存储的方法、装置、电子设备和可读存储介质

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
TOBY941: "请教一个数据库字段排序的问题", 《HTTPS://WWW.ITEYE.COM/PROBLEMS/222》 *
单纯的心: "JAVA高效实现列表上下移动、置顶的高效计算方法", 《HTTPS://BLOG.CSDN.NET/ZHANGQIANG_ACCP/ARTICLE/DETAILS/81092638》 *

Similar Documents

Publication Publication Date Title
Liu et al. NET–a system for extracting web data from flat and nested data records
CN104536958B (zh) 一种复合索引方法及装置
CN105205117A (zh) 一种数据表迁移方法和装置
CN101446962A (zh) 一种数据转换方法、装置及数据处理系统
CN107229674A (zh) 一种数据迁移装置、服务器及方法
CN102841891A (zh) 一种树状结构节点的排序方法、装置及查询系统
CN106528647A (zh) 一种基于cedar双数组字典树算法进行术语匹配的方法
CN106557307A (zh) 业务数据的处理方法及处理系统
CN112785132B (zh) 一种用于智能仓库的多机器人移动货架任务分配方法
CN111723298A (zh) 基于改进标签传播的社交网络社团发现方法、装置及介质
CN102243664A (zh) 一种复合字段的数据存储及查询方法
CN108875826B (zh) 一种基于粗细粒度复合卷积的多分支对象检测方法
CN106815258A (zh) 一种数据存储方法和协调节点
CN104834709B (zh) 一种基于负载均衡的并行余弦模式挖掘方法
CN112148738A (zh) 哈希冲突处理方法及系统
CN103338155A (zh) 一种数据包的高效过滤方法
CN108427736A (zh) 一种用于查询数据的方法
CN113704248B (zh) 一种基于外置索引的区块链查询优化方法
CN109408512A (zh) 一种数据库排序位置移动方法
CN109241064A (zh) 一种数据库插入排序方法
CN106845538A (zh) 一种基于选择性坐标下降优化的稀疏子空间聚类方法
Carlsson et al. Topological approximation by small simplicial complexes
CN103222220A (zh) 网络数据的回退方法及设备
CN106557289A (zh) 一种幻灯片显示方法、系统及装置
CN109739859B (zh) 一种关系图谱绘制方法、系统及相关装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication

Application publication date: 20190301

RJ01 Rejection of invention patent application after publication