CN102486775B - 业务数据的查询方法及装置 - Google Patents

业务数据的查询方法及装置 Download PDF

Info

Publication number
CN102486775B
CN102486775B CN201010569656.7A CN201010569656A CN102486775B CN 102486775 B CN102486775 B CN 102486775B CN 201010569656 A CN201010569656 A CN 201010569656A CN 102486775 B CN102486775 B CN 102486775B
Authority
CN
China
Prior art keywords
mistiming
time domain
domain field
query statement
data
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.)
Active
Application number
CN201010569656.7A
Other languages
English (en)
Other versions
CN102486775A (zh
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.)
Kingdee Software China Co Ltd
Original Assignee
Kingdee Software China 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 Kingdee Software China Co Ltd filed Critical Kingdee Software China Co Ltd
Priority to CN201010569656.7A priority Critical patent/CN102486775B/zh
Publication of CN102486775A publication Critical patent/CN102486775A/zh
Application granted granted Critical
Publication of CN102486775B publication Critical patent/CN102486775B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

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

Abstract

一种业务数据的查询方法,包括以下步骤:在业务数据表中配置时间域字段,所述时间域字段中记录了业务日期与指定日期的时间差;为所述时间域字段创建索引;接收录入的查询条件,根据所述查询条件生成查询语句;执行所述查询语句,根据所述时间域字段进行检索,返回数据结果集。上述方法能够提高查询效率。此外,还提供一种业务数据的查询装置。

Description

业务数据的查询方法及装置
【技术领域】
本发明涉及数据查询技术,尤其涉及一种业务数据的查询方法及装置。
【背景技术】
传统的业务数据的查询方法,通常提供日期查询条件供用户录入,用户录入包括开始日期和结束日期的一组日期条件,系统则根据用户录入的条件生成SQL语句,SQL语句传入到后台指定数据库进行数据检索,检索日期字段在开始日期到结束日期这一范围内的数据,最后将检索到的数据传输到前台,以报表或图表的方式展示给用户。比如,用户录入的日期条件为2010年2月1日(开始日期)到2010年3月1日(结束日期),根据这个日期生成SQL语句,SQL语句则在数据库中检索业务日期在这个时间范围内的数据。
然而,传统的这种业务数据的查询方法,由于是针对日期字段的检索,查询的效率并不高。
【发明内容】
基于此,有必要提供一种能提高查询效率的业务数据的查询方法。
一种业务数据的查询方法,包括以下步骤:
在业务数据表中配置时间域字段,所述时间域字段中记录了业务日期与指定日期的时间差;
为所述时间域字段创建索引;
接收录入的查询条件,根据所述查询条件生成查询语句;
执行所述查询语句,根据所述时间域字段进行检索,返回数据结果集。
优选的,所述接收录入的查询条件,根据所述查询条件生成查询语句的步骤为:
接收录入的开始日期和结束日期;
计算所述开始日期与指定日期的第一时间差;
计算所述结束日期与指定日期的第二时间差;
根据所述第一时间差和第二时间差生成查询语句。
优选的,所述根据所述时间域字段进行检索的步骤为:
检索业务数据表中时间域字段中记录的时间差在所述第一时间差与第二时间差之间的范围内的数据。
优选的,所述时间域字段为整数型字段。
优选的,所述查询语句为SQL语句。
此外,还有必要提供一种能提高查询效率的业务数据的查询装置。
一种业务数据的查询装置,包括:
数据存储模块,用于存储业务数据表,所述业务数据表中配置了时间域字段,所述时间域字段中记录了业务日期与指定日期的时间差;
索引创建模块,用于为所述时间域字段创建索引;
语句生成模块,用于接收录入的查询条件,根据所述查询条件生成查询语句;
执行模块,用于执行所述查询语句,根据所述时间域字段进行检索,返回数据结果集。
优选的,所述语句生成模块包括:
接收模块,接收录入的开始日期和结束日期;
计算模块,计算所述开始日期与指定日期的第一时间差,以及计算所述结束日期与指定日期的第二时间差;
查询语句生成模块,根据所述第一时间差和第二时间差生成查询语句。
优选的,所述执行模块用于检索业务数据表中时间域字段中记录的时间差在所述第一时间差与第二时间差之间的范围内的数据。
优选的,所述时间域字段为整数型字段。
优选的,所述查询语句为SQL语句。
上述业务数据的查询方法及装置,在业务数据表中配置了用来记录业务日期与指定日期的时间差的时间域字段,通过查询语句检索时,检索该时间域字段,相对于传统的检索日期字段的方式,能有效的提高查询效率。
【附图说明】
图1为一个实施例中业务数据的查询方法的流程图;
图2为另一个实施例中业务数据的查询方法的流程图;
图3为一个实施例中业务数据的查询装置的结构示意图;
图4为图3中的语句生成模块的结构示意图。
【具体实施方式】
图1示出了一个实施例中业务数据的查询方法流程,包括以下步骤:
步骤S102,在业务数据表中配置时间域字段,该时间域字段中记录了业务日期与指定日期的时间差。
步骤S104,为时间域字段创建索引。
步骤S106,接收录入的查询条件,根据查询条件生成查询语句。
步骤S108,执行查询语句,根据时间域字段进行检索,返回数据结果集。
上述业务数据的查询方法及装置,在业务数据表中配置了用来记录业务日期与指定日期的时间差的时间域字段,通过查询语句检索时,检索该时间域字段,相对于传统的检索日期字段的方式,能有效的提高查询效率。
图2示出了另一个实施例中业务数据的查询方法流程,包括以下步骤:
步骤S202,在业务数据表中配置时间域字段,该时间域字段中记录了业务日期与指定日期的时间差。业务日期是指产生业务数据表的日期,指定日期为设置的日期。指定日期在所有业务日期之前。
优选的,指定日期为1900年1月1日。例如,业务数据表的业务日期为2010年6月20日,则时间域字段中记录的时间差为40347(即2010年6月20日与1900年1月1日之间的时间差)。
该实施例中,时间域字段为整数型(Integer型)字段。整数型字段的查询性能要优于日期字段,因此对时间域字段的检索速度要高于日期字段,配置整数型的时间域字段能够提高业务数据的查询效率。
步骤S204,为时间域字段创建索引。索引即为数据的目录,若时间域字段未创建索引,则检索时需遍历整个业务数据表。为时间域字段创建索引后,则可以只检索业务数据表中的时间域字段,提高了检索效率。
步骤S206,接收录入的开始日期和结束日期。用户录入的查询条件中包括日期条件,例如,用户录入的日期条件为2010年5月20日到2010年6月20日,则开始日期为2010年5月20日,结束日期为2010年6月20日。此外,用户还可录入其他查询条件,例如产品名称、标识号等。
步骤S208,计算开始日期与指定日期的第一时间差,以及计算结束日期与指定日期的第二时间差。例如,用户录入的日期条件为2010年5月20日到2010年6月20日,指定时间为1900年1月1日,则第一时间差为40317,第二时间差为40347。
步骤S210,根据第一时间差与第二时间差生成查询语句。第一时间差和第二时间差在查询语句中位于其它所有条件的前面,因此需要首先检索时间域字段中记录的时间差在第一时间差和第二时间差的范围内的数据。在一个优选的实施例中,查询语句为SQL语句。
步骤S212,执行查询语句,检索业务数据表中时间域字段中记录的时间差在第一时间差与第二时间差之间的范围内的数据。由于为时间域字段创建了索引,检索时只需遍历时间域字段,检索到该字段中的时间差在第一时间差与第二时间差之间的范围内的数据,然后再进一步检索符合其他查询条件的数据。
步骤S214,返回数据结果集。返回的数据结果集可以以数据表或图表的形式展示给用户。
图3示出了一个实施例中的业务数据的查询装置,该装置包括数据存储模块10、索引创建模块20、语句生成模块30和执行模块40,其中:
数据存储模块10用于存储业务数据表,业务数据表中配置了时间域字段,该时间域字段中记录了业务日期与指定日期的时间差。指定日期位于业务日期之前,优选为1900年1月1日。在一个优选的实施例中,时间域字段为整数型(Integer型)字段。整数型字段相对于日期字段,其检索的效率更高。
索引创建模块20用于为时间域字段创建索引。索引是数据的目录,通过索引使得在检索数据的时候无需遍历整个业务数据表,而只需在时间域字段中进行检索即可。
语句生成模块30用于接收录入的查询条件,根据查询条件生成查询语句。用户录入的查询条件包括日期条件及其它条件等。在一个优选的实施例中,生成的查询语句为SQL语句。
执行模块40,用于执行查询语句,根据时间域字段进行检索,返回数据结果集。
在一个实施例中,如图4所示,语句生成模块30包括接收模块310、计算模块320和查询语句生成模块330,其中:
接收模块310用于接收录入的开始日期和结束日期。
计算模块,用于计算开始日期与指定日期的第一时间差,以及计算结束日期与指定日期的第二时间差。
查询语句生成模块,用于根据第一时间差与第二时间差生成查询语句。第一时间差和第二时间差在查询语句中位于其它所有条件的前面,因此需要首先检索时间域字段中记录的时间差在第一时间差和第二时间差的范围内的数据。
该实施例中,执行模块40用于检索业务数据表中时间域字段中记录的时间差在所述第一时间差与第二时间差之间的范围内的数据。然后再进一步检索符合其它查询条件的数据。
以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。

Claims (4)

1.一种业务数据的查询方法,包括以下步骤:
在业务数据表中配置时间域字段,所述时间域字段中记录了业务日期与指定日期的时间差;该时间差为天数;
为所述时间域字段创建索引;
接收录入的查询条件,根据所述查询条件生成查询语句;
执行所述查询语句,根据所述时间域字段进行检索,返回数据结果集;
所述接收录入的查询条件,根据所述查询条件生成查询语句的步骤为:
接收录入的开始日期和结束日期;
计算所述开始日期与指定日期的第一时间差;该第一时间差为天数;
计算所述结束日期与指定日期的第二时间差;该第二时间差为天数;
根据所述第一时间差和第二时间差生成查询语句;
其中,所述时间域字段为整数型字段,所述第一时间差和所述第二时间差在查询语句中位于其它所有条件的前面;
所述根据所述时间域字段进行检索的步骤为:
检索业务数据表中时间域字段中记录的时间差在所述第一时间差与第二时间差之间的范围内的数据后,再检索符合其它查询条件的数据;
所述指定日期在所有业务日期之前。
2.根据权利要求1所述的业务数据的查询方法,其特征在于,所述查询语句为SQL语句。
3.一种业务数据的查询装置,其特征在于,包括:
数据存储模块,用于存储业务数据表,所述业务数据表中配置了时间域字段,所述时间域字段中记录了业务日期与指定日期的时间差;该时间差为天数;
索引创建模块,用于为所述时间域字段创建索引;
语句生成模块,用于接收录入的查询条件,根据所述查询条件生成查询语句;
执行模块,用于执行所述查询语句,根据所述时间域字段进行检索,返回数据结果集;
所述语句生成模块包括:
接收模块,接收录入的开始日期和结束日期;
计算模块,计算所述开始日期与指定日期的第一时间差,以及计算所述结束日期与指定日期的第二时间差;该第一时间差和第二时间差均为天数;
查询语句生成模块,根据所述第一时间差和第二时间差生成查询语句;
其中,所述时间域字段为整数型字段,所述第一时间差和所述第二时间差在查询语句中位于其它所有条件的前面;
所述执行模块用于检索业务数据表中时间域字段中记录的时间差在所述第一时间差与第二时间差之间的范围内的数据后,再检索符合其它查询条件的数据;
所述指定日期在所有业务日期之前。
4.根据权利要求3所述的业务数据的查询装置,其特征在于,所述查询语句为SQL语句。
CN201010569656.7A 2010-12-01 2010-12-01 业务数据的查询方法及装置 Active CN102486775B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201010569656.7A CN102486775B (zh) 2010-12-01 2010-12-01 业务数据的查询方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201010569656.7A CN102486775B (zh) 2010-12-01 2010-12-01 业务数据的查询方法及装置

Publications (2)

Publication Number Publication Date
CN102486775A CN102486775A (zh) 2012-06-06
CN102486775B true CN102486775B (zh) 2015-05-20

Family

ID=46152268

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201010569656.7A Active CN102486775B (zh) 2010-12-01 2010-12-01 业务数据的查询方法及装置

Country Status (1)

Country Link
CN (1) CN102486775B (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103970978B (zh) * 2013-02-06 2018-07-31 华为技术有限公司 一种对业务质量数据进行处理的方法和装置
CN103530413B (zh) * 2013-10-28 2017-05-10 北京国双科技有限公司 数据处理方法和装置
CN105094928A (zh) * 2015-09-06 2015-11-25 浪潮集团有限公司 一种基于插件的动态图表加载方法
CN106383830B (zh) * 2016-08-23 2020-07-28 浙江宇视科技有限公司 一种数据检索方法及设备
CN108427684B (zh) * 2017-02-14 2020-12-25 华为技术有限公司 数据查询方法、装置及计算设备
CN108763430B (zh) * 2018-05-24 2021-01-12 杭州有赞科技有限公司 配置化实现垂直业务定制化检索的方法、装置及系统

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101196919A (zh) * 2007-12-21 2008-06-11 北京天天宽广网络科技有限公司 基于音视频片断的索引及查询方法

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101196919A (zh) * 2007-12-21 2008-06-11 北京天天宽广网络科技有限公司 基于音视频片断的索引及查询方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
赵玉怀.FOXBASE数据库的特殊索引方法.《延安大学学报(自然科学版》.1999,第18卷(第1期), *

Also Published As

Publication number Publication date
CN102486775A (zh) 2012-06-06

Similar Documents

Publication Publication Date Title
CN102486775B (zh) 业务数据的查询方法及装置
CN104123374B (zh) 分布式数据库中聚合查询的方法及装置
CN103064933B (zh) 数据查询方法及系统
CN104424258B (zh) 多维数据查询的方法、查询服务器、列存储服务器及系统
CN103020281B (zh) 一种基于空间数据数值索引的数据存储与检索方法
CN102270225B (zh) 数据变更日志监控方法和数据变更日志监控装置
CN103631909B (zh) 对大规模结构化和非结构化数据联合处理的系统及方法
CN108509437A (zh) 一种ElasticSearch查询加速方法
CN103729447A (zh) 一种数据库快速检索的方法
CN104182405A (zh) 一种连接查询方法及装置
CN102968464B (zh) 一种基于索引的本地资源快速检索系统的检索方法
CN101196900A (zh) 一种基于元数据的信息检索方法
CN108052635A (zh) 一种异构数据源统一联合查询方法
CN103605778B (zh) 一种视频文件的定位方法、装置及系统
CN101639831A (zh) 一种搜索方法、装置及系统
CN102054007A (zh) 一种检索方法及检索装置
CN105095458A (zh) 一种基于时间特征支持复杂条件的大数据检索方法
CN103455560A (zh) 一种数据查询方法及系统
CN103823846A (zh) 一种基于图论的大数据存储及查询方法
CN105224534A (zh) 一种请求响应的方法及装置
CN104834650A (zh) 一种有效查询任务生成方法及系统
CN105069101A (zh) 分布式索引构建及检索方法
CN105787090A (zh) 一种电力数据的olap系统的索引建立方法和系统
CN101963993B (zh) 一种数据库单表记录快速查找的方法
CN108984626B (zh) 一种数据处理方法、装置及服务器

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant