法律状态公告日
法律状态信息
法律状态
2018-11-23
未缴年费专利权终止 IPC(主分类):G06F17/30 授权公告日:20080220 终止日期:20171208 申请日:20051208
专利权的终止
2008-02-20
授权
授权
2007-01-17
实质审查的生效
实质审查的生效
2006-11-22
公开
公开
技术领域
本发明涉及网络数据管理技术领域,尤其涉及数据检索的方法及装置。
背景技术
GLMS(群组列表管理服务器)是一种管理群组列表的服务器,支持管理50万用户数据和50万群组数据,其中每个群组最大可以允许1024个用户成员,因此单个的群组成员表的记录数超过1千万条。
在对大数据量的表进行查询操作时,会返回大量的符合条件的纪录,由使用者从中筛选,一般为了提高性能,查询操作会对数据进行分页处理,由使用者根据需要选择需要查询页的大小和页号码。
如图1所示是一个比较常见的查询页面,使用者可以输入条件进行查询,可以向前,向后翻页,可以翻到第一页,也可以翻到最后一页。
其查询的基本流程如图2所示,包括如下操作:
1)数据准备操作:包括设定查询条件,每页包含的纪录条数,查询的页码;
2)数据处理:根据查询条件查询,限定返回的结果集数量为页码减1后与页大小的乘积,将查询结果按照索引进行升序排列;
3)获得结果集中最大索引号;
4)构造新的查询条件,包含大于最大索引号条件,进行查询,限定返回页大小的结果数量;
5)数据输出:将查询的结果集返回给上层应用程序。
上述方案通过查询指定页码之前的数据获得一个最大索引值,利用该索引值来返回指定页码的指定页大小的数据,随着指定页码的数值增大,计算最大索引值上的开销越大,特别是对于用户常用的选择第一页和最后一页操作,最后一页的查询速度最慢。
发明内容
鉴于上述现有技术所存在的问题,本发明的目的在于提供一种减少分页数据检索时间的方法及装置,利用变化升序和降序排列的方法,减少查询页码大时的时延,从而达到优化查询性能的目的。
本发明的目的是通过以下技术方案实现的:
一种减少分页数据检索时间的方法,包括:
A、设置查询条件,获得符合查询条件的总页数;
B、确定要查询的页码大于所述总页数的一半,则根据查询条件进行查询,限定返回的结果集数量,并将结果集降序排列,从而获得结果集中的最小索引号;
C、根据上述获得的最小索引号及原查询条件构造新的查询条件,根据新的查询条件获得查询结果。
所述步骤A中设置的查询条件包括:每页包含的记录条数、要查询的页码。
所述步骤A中限定返回结果集数量为总页数减去要查询的页码后与每页包含记录条数的乘积。
所述步骤A中获得符合查询条件的总页数的方法具体包括:
根据查询条件进行查询,获得符合查询条件的总记录数,用总记录数除以每页包含的记录条数,得到符合查询条件的总页数。
所述步骤C中构造的新的查询条件包括:小于最小索引号条件及返回页包含的记录条数。
所述新查询条件中返回页码包含的记录条数与原查询条件中每页包含的记录条数相同。
所述方法还包括:
D、将所述查询结果升序排列后返回给上层应用程序。
所述方法应用于数据网络中的数据查询设备中。
一种减少分页数据检索时间的装置,所述装置至少包括:
查询条件设置模块,用于构造查询条件;
查询处理模块,与查询条件设置模块相连,用于根据查询条件进行查找,并限定采用的查询模式;
排序转换模块,用于根据所述确定的查询模式转换查找结果集的排序。
所述查询模式包括升序查询和降序查询。。
由上述本发明提供的技术方案可以看出,本发明利用变化升序和降序排列的方法,减少了查询页码大时的时延,并且同时不增大查询其他页的时延,达到了优化查询性能的目的。
附图说明
图1为现有技术一种查询页面示意图;
图2为现有技术分页查询操作流程图;
图3为本发明所述系统模块图;
图4为本发明所述方法一种实施例操作流程图;
图5为本发明有益效果示意图。
具体实施方式
本发明的核心思想是提供一种减少分页数据检索时间的方法及装置,利用变化升序和降序排列的方法,减少了查询页码大时的时延,达到优化查询性能的目的。
本发明提供了一种减少分页数据检索时间的装置,该装置可应用于数据网络中的数据查询设备中,所述装置模块图如图3所示,该装置至少包括查询条件设置模块、查询处理模块、排序转换模块。所述的查询条件设置模块用于构造查询条件,包括每页包含的记录条数、查询的页码、小于最小索引号条件等;所述的查询处理模块与查询条件设置模块相连,用于根据查询条件设置模块设置的查询条件进行查询,并限定采用的查询模式是升序查询还是降序查询;所述的排序转换模块与查询处理模块相连,用于接收查询处理模块限定采用的查询模式,根据所述查询模式转换查找结果集的排序,如将按照索引升序排列的查找结果集降序排列。
本发明提供了一种减少分页数据检索时间的方法,其一种实施例操作流程如图4所示,具体包括如下步骤:
步骤1:查询条件设置模块设置查询条件,每页包含的记录条数、查询的页码;
本实施例假定每页包含的记录条数为10条,要查询的页码为第60页;
步骤2:获得符合查询条件的总记录数,根据总记录数、页大小获得总页数;
根据上述设置的查询条件查询,获得符合条件的总记录数,用总记录数除以每页包含的记录条数,得到总页数;
若上述获得的总记录数为1000条,则总页数为1000÷10=100页;
步骤3:将要查询的页码与上述获得的总页数比较,判断要查询的页码是否大于总页数的一半;
若小于总页数的一半,则按照原升序查询法查询,对于生序查询法本发明不作限定;
步骤4:如果查询的页码大于总页数的一半,则查询处理模块根据查询条件查询具体要查询的内容,限定返回的结果集数量为总页数减去要查询的页码后与页大小的乘积,排序转换模块将查询结果按照索引进行降序排列;
由于60大于100的一半50,所以按照上述方法,首先按照查询条件查询具体内容,再限定返回的结果集数量为(100-60)×10,将返回查询到的结果中61页后所有内容,再将查询结果按照降序排列;
步骤5:获得结果集中的最小索引号;
在上述降序排列的结果集中,获得最小索引号,即第61页最前面一条的索引号;
步骤6:查询条件设置模块构造新的查询条件,包含小于最小索引号条件,进行查询,限定返回页大小的结果数量;
构造的新的查询条件包括:小于最小索引号条件及返回页包含的记录条数,查询条件中返回页码包含的记录条数与原查询条件中每页包含的记录条数相同,如上述实例中原查询条件中每页包含的记录数为10,则新查询条件中返回页包含的记录条数也为10;
步骤7:将查询的结果集升序排列后返回给上层应用程序;
按照上述设置的新的查询条件进行查询,并将查询结果集返回给上层应用程序。
利用本发明所述方法其查询的性能优化可如图5所示,对于页码在中间的查询没有改变查询性能,对于第一页和最后一页的查询性能得到很大优化。
综上所述,本发明利用变化升序和降序排列的方法,减少了查询页码大时的时延,达到了优化查询性能的目的。
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。
机译: 由于波浪能量和海水中所含的悬浮土壤颗粒而导致的沿海开垦方法。一种在海洋沿海地区衰减海浪动能的方法。带有液压挡板的耐水盆,用于阻尼和消散海浪的能量(选装件)。通过将波浪撞击液压障碍物来阻尼海浪能量的方法以及以水阻盆形式的液压障碍物形式阻尼海浪能量的装置,该阻尼器用于阻尼和消散海浪能量,同时增加了单位时间内从海中的水传输量,同时减少了单位时间内回水的流量在海里。一种通过波的横截面区分波速并区分海洋沿岸区域的正向和反向水道通过的装置(可选)
机译: 减少自动图书馆数据检索系统中响应时间的方法和装置
机译: 在使用需求分页技术的系统中减少页面替换时间的方法和装置