CN106202451A - 一种数据查询方法及装置 - Google Patents

一种数据查询方法及装置 Download PDF

Info

Publication number
CN106202451A
CN106202451A CN201610554469.9A CN201610554469A CN106202451A CN 106202451 A CN106202451 A CN 106202451A CN 201610554469 A CN201610554469 A CN 201610554469A CN 106202451 A CN106202451 A CN 106202451A
Authority
CN
China
Prior art keywords
index
statement
query
mode
created
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.)
Granted
Application number
CN201610554469.9A
Other languages
English (en)
Other versions
CN106202451B (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.)
Zhejiang Dahua Technology Co Ltd
Original Assignee
Zhejiang Dahua Technology 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 Zhejiang Dahua Technology Co Ltd filed Critical Zhejiang Dahua Technology Co Ltd
Priority to CN201610554469.9A priority Critical patent/CN106202451B/zh
Publication of CN106202451A publication Critical patent/CN106202451A/zh
Application granted granted Critical
Publication of CN106202451B publication Critical patent/CN106202451B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/951Indexing; Web crawling techniques

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种数据查询方法及装置,用以在数据查询时,根据自身的判断确定各个查询语句的查询路径,提高数据查询的效率。所述数据查询方法,该方法包括:接收用户发送的查询语句,并将所述查询语句转化为逻辑执行计划树;根据转化后的逻辑执行计划树中包含的算子判断所述查询语句是否为复杂语句,若是,则按照数据库查询方式进行数据查询;否则,根据预先创建的索引按照搜索引擎或者索引引擎的方式进行数据查询。

Description

一种数据查询方法及装置
技术领域
本发明涉及通信技术领域,尤其涉及一种数据查询的方法及装置。
背景技术
随着大量的业务数据和社会网络积累的各种数据越来越多,如何在海量的数据存储中快速查询满足条件的记录,是一种比较大的挑战。
目前,比较通用的成熟搜索引擎框架全文搜索引擎(lucene),通过倒排索引技术,实现了比较强大的数据查询,该索引引擎有着自身的查询语法,并且对于搜索有着相当大的优势;另外,对于现有的数据库系统,有大量的索引技术,如B+树索引,位图索引等,对于查询速度同样有着较大的提升。
当然,目前在数据库的文本搜索功能中,倒排索引有着比较常见的应用。在通用数据库中应用索引引擎,是一种比较可行的方案,这样可以依赖搜索引擎进行查询,加快了简单查询的速度。
具体地,参见图1,倒排索引的索引方法,图1中的索引是根据表1的数据库中存储的信息创建的索引。参见表1如下:
表1
ID Car_num car_color dev_chnname car_imgurl
1 浙B1234 Red 北京 Picserver1
2 浙A1234 black 深圳 Picserver2
3 浙A1234 black 杭州 Picserver2
4 浙C1234 Blue 北京 Picserver1
例如,当查询car_num为浙A*时,需要对每行记录进行遍历,然后匹配,在大量的数据查询过程中,该操作非常耗时。通过使用倒排索引方法,则仅需要遍历图1中的椭圆,即数据字典,就可以得到满足条件的记录。例如,根据图1确定car_num为浙A*包括ID为第2行、第3行等。从而取出n(n不宜过大)条记录,即可实现分页查询。
现有技术中常用的数据查询方法:首先接收用户发送的查询语句,并将该查询语句转化为数据库可以识别的逻辑执行计划树,然后根据逻辑执行计划树中的包含的算子采用索引引擎的方式进行数据的查询,当采用索引引擎的方式进行数据查询不能找到结果时,采用数据库查询的方式进行数据查询。然而,采用索引引擎查询数据时,当查询语句中包括联接操作时,分布式索引的操作需要将满足过滤条件的记录全部得到,然后在得到的所有满足条件记录当中进行联接操作,且得到所有满足条件记录的效率是非常低的,由于lucene是分页查询,一次查询仅得到少量记录,导致需要进行多次操作才能得到最终满足的条件;采用数据库查询数据时,当数据量较大时,普通查询,模糊查询的速度没有搜索引擎查询的速度快,从而降低了数据查询的效率。
因此,为了避免上述问题,如何在数据查询时,根据自身的判断满足各个查询语句的查询路径,从而提高数据查询的效率是我们亟待解决的技术问题。
发明内容
本发明实施例提供了一种数据查询方法及装置,用以在数据查询时,根据自身的判断确定各个查询语句的查询路径,提高数据查询的效率。
本发明实施例提供了一种数据查询方法,该方法包括:
接收用户发送的查询语句,并将所述查询语句转化为逻辑执行计划树;
根据转化后的逻辑执行计划树中包含的算子判断所述查询语句是否为复杂语句,若是,则按照数据库查询方式进行数据查询;
否则,根据预先创建的索引按照搜索引擎或者索引引擎的方式进行数据查询。
在一种可能的实施方式中,本发明实施例提供的上述数据查询方法中,所述根据转化后的逻辑执行计划树判断所述查询语句是否为复杂语句,包括:
判断转化后的逻辑执行计划树中是否包括联接算子或聚集算子,若是则确定所述查询语句为复杂语句,否则,为简单语句。
在一种可能的实施方式中,本发明实施例提供的上述数据查询方法中,确定所述查询语句为简单语句后,且根据预先创建的索引按照搜索引擎或者索引引擎的方式进行数据查询之前,该方法还包括:
将所述查询语句进行解析,并转化为搜索引擎所支持的语句。
在一种可能的实施方式中,本发明实施例提供的上述数据查询方法中,根据预先创建的索引按照搜索引擎或者索引引擎的方式进行数据查询,具体包括:
若所述查询语句为简单语句,判断所述查询语句返回的字段是否包括非索引字段,若是则根据预先创建的索引按照索引引擎的方式进行数据查询;
否则根据预先创建的索引按照搜索引擎的方式进行数据查询。
在一种可能的实施方式中,本发明实施例提供的上述数据查询方法中,根据预先创建的索引按照索引引擎的方式进行数据查询,包括:
根据所述索引字段,确定预先创建的索引中所述索引字段对应的ID号,根据所述ID号在数据库中确定所述非索引字段对应的结果。
在一种可能的实施方式中,本发明实施例提供的上述数据查询方法中,按照倒排索引的方式在本地创建索引。
相应地,本发明实施例提供了一种数据查询装置,该装置包括:
数据接收模块,用于接收用户发送的查询语句,并将所述查询语句转化为逻辑执行计划树;
数据判断模块,用于根据转化后的逻辑执行计划树中包含的算子判断所述查询语句是否为复杂语句,若是,则按照数据库查询方式进行数据查询;否则,根据预先创建的索引按照搜索引擎或者索引引擎的方式进行数据查询。
在一种可能的实施方式中,本发明实施例提供的上述数据查询装置中,所述数据判断模块根据转化后的逻辑执行计划树判断所述查询语句是否为复杂语句,具体用于:
判断转化后的逻辑执行计划树中是否包括联接算子或聚集算子,若是则确定所述查询语句为复杂语句,否则,为简单语句。
在一种可能的实施方式中,本发明实施例提供的上述数据查询装置中,该装置还包括:
转换器,用于在确定所述查询语句为简单语句后,且根据预先创建的索引按照搜索引擎或者索引引擎的方式进行数据查询之前,将所述查询语句进行解析,并转化为搜索引擎所支持的语句。
在一种可能的实施方式中,本发明实施例提供的上述数据查询装置中,所述数据判断模块根据预先创建的索引按照搜索引擎或者索引引擎的方式进行数据查询,具体用于:
若所述查询语句为简单语句,判断所述查询语句返回的字段是否包括非索引字段,若是则根据预先创建的索引按照索引引擎的方式进行数据查询;
否则根据预先创建的索引按照搜索引擎的方式进行数据查询。
在一种可能的实施方式中,本发明实施例提供的上述数据查询装置中,所述数据判断模块根据预先创建的索引按照索引引擎的方式进行数据查询,具体用于:
根据所述索引字段,确定预先创建的索引中所述索引字段对应的ID号,根据所述ID号在数据库中确定所述非索引字段对应的结果。
本发明有益效果如下:
通过本发明实施例提供的一种数据查询的方法及装置,所述数据查询方法包括:首先接收用户发送的查询语句,并将所述查询语句转化为逻辑执行计划树;然后根据转化后的逻辑执行计划树中包含的算子判断所述查询语句是否为复杂语句,若是,则按照数据库查询方式进行数据查询;否则,根据预先创建的索引按照搜索引擎或者索引引擎的方式进行数据查询。因此,本发明实施例提供的数据查询方法通过判断查询语句是否为复杂句,而选择不同的数据查询路径,若查询语句为复杂句则直接通过数据库查询的方式进行数据查询,若查询语句为简单句则通过搜索引擎或索引引擎的方式进行数据查询,最后反馈查询语句对应的信息给用户,从而提高了数据查询的效率。
附图说明
图1为现有技术提供的一种倒排索引的方法示意图;
图2为本发明实施例提供的一种数据查询方法的流程示意图之一;
图3为本发明实施例提供的一种数据查询方法的流程示意图之二;
图4为本发明实施例提供的一种数据查询方法的流程示意图之三;
图5为本发明实施例提供的一种数据查询装置的结构示意图。
具体实施方式
为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
本发明实施例提供了一种数据查询方法及装置,用以在数据查询时,根据自身的判断确定各个查询语句的查询路径,提高数据查询的效率。
参见图2,本发明实施例提供的一种数据查询方法,该方法包括:
S201、接收用户发送的查询语句,并将查询语句转化为逻辑执行计划树;
S202、根据转化后的逻辑执行计划树中包含的算子判断查询语句是否为复杂语句,若是则执行步骤S203,否则执行步骤S204;
S203、按照数据库查询方式进行数据查询;
S204、根据预先创建的索引按照搜索引擎或者索引引擎的方式进行数据查询。
需要说明的是,本发明实施例提供的一种数据查询方法中,预先在本地针对数据库中的字段创建索引,建立的索引供给数据查询使用,即索引引擎用于提供给用户进行数据查询实用,索引引擎可以为自己设计的框架引擎,也可以为lucene等成熟的索引引擎,本发明实施例不做具体限定。
通过本发明实施例提供的一种数据查询方法,首先接收用户发送的查询语句,并将查询语句转化为逻辑执行计划树;然后根据转化后的逻辑执行计划树中包含的算子判断查询语句是否为复杂语句,若是,则按照数据库查询方式进行数据查询;否则,根据预先创建的索引按照搜索引擎或者索引引擎的方式进行数据查询。因此,本发明实施例提供的数据查询方法通过判断查询语句是否为复杂句,而选择不同的数据查询路径,若查询语句为复杂句则直接通过数据库查询的方式进行数据查询,若查询语句为简单句则通过搜索引擎或索引引擎的方式进行数据查询,最后反馈查询语句对应的信息给用户,从而提高了数据查询的效率。
在具体实施例中,本发明实施例提供的上述数据查询方法中,按照倒排索引的方式在本地创建索引。具体地,采用倒排索引方式并使用分页查询,一次返回很少的记录,使得在普通查询或模糊查询的操作中速度较快,提高了数据索引的速度。
在具体实施例中,本发明实施例提供的上述数据查询方法中,步骤S202中根据转化后的逻辑执行计划树中包含的算子判断查询语句是否为复杂语句,包括:判断转化后的逻辑执行计划树中是否包括联接算子或聚集算子,若是则确定所述查询语句为复杂语句,否则,为简单语句。
具体地,接收的用户发送查询语句为SQL语句,为了进一步判断该查询语句包括的内容,需要通过执行器对该查询语句进行词法解析,语法解析以及语义检查,并转化成逻辑执行计划树,其中该逻辑执行计划树中包括多个算子,以及每个算子之间对应的表达式。其中算子包括投影(project)、选择(select),联接(join),聚集(group by),扫描表(scan)等。本发明实施例中将查询语句中包括联接算子或聚集算子的作为复杂语句。
以上仅是举例说明判断查询语句是否为复杂语句的原则,在具体实施时,根据查询语句的执行计划树中是否包含的算子判断是否为复杂语句的原则不限于本发明实施例提供的上述方法,还可以是本领域技术人员可知的其他方法,在此不做限定。
在具体实施例中,若查询语句中存在2表联接算子的条件时,采用分布式索引的操作需要将满足过滤条件的记录全部得到,然后在得到的所有记录中进行联接操作;由于lucene是分页查询,若一次查询只能得到24条,导致需要进行多次查询才能最终得到满足条件的结果,使得数据查询的速度非常慢。例如,Select A.a,B.b from A,B where A.a>100and B.b>500and a.id=b.id.。在lucene框架中该部分的实现过程为:执行A.a得到A表所有满足条件的记录,需要对索引记录进行全局扫描,需进行多次查询,同时执行B.b得到所有B表满足条件的记录,然后执行join操作。同理,类似的复杂操作还包括聚集操作。
因此,若确定查询语句为复杂语句,则采用数据库查询的方式进行数据查询。具体地,在执行联接操作或聚集操作时,数据库可依赖联接索引(join index)或者聚集索引(group by index)等方法,在数据库中进行查询,相比于采用索引引擎的方式进行查询的效率高,速度快。
在具体实施例中,本发明实施例提供的上述数据查询方法中,确定查询语句为简单语句后,且根据预先创建的索引按照搜索引擎或者索引引擎的方式进行数据查询之前,该方法还包括:将查询语句进行解析,并转化为搜索引擎所支持的语句。
具体地,当确定查询语句为简单语句,且采用搜索引擎或者索引引擎的方式进行数据查询前,需要将该查询语句进行转换。转换前的查询语句为数据库支持的查询语句,对该查询语句进行解析的具体操作为:解析查询语句中select算子中的表达式,查找并匹配其中的大于、等于、不等于、之间(between and)、像(like)、不像(not like)、在(in)或者不在(not in)等条件的表达式。然后将该查询语句的表达式转化为搜索引擎支持的语句,其中,转化规则为:数据库中的a>1,转化为搜索引擎支持的a:[1TO*];数据库中between1and 2转化为搜索引擎支持的a:[1TO 2];数据库中的a in(1,2)转化为(a:1OR a:2)等。当查找完所有的条件表达式后,利用AND或者OR,括号等组合操作符将各个搜索引擎支持的条件组合在一起。从而完成查询语句的转化。
以上仅是举例说明查询语句转化为搜索引擎支持的语句的具体方法,在具体实施时,转化原则不限于本发明实施例提供的上述方法,还可以是本领域技术人员可知的其他方法,在此不做限定。
在具体实施例中,参见图3,本发明实施例提供的上述数据查询方法中,步骤S204根据预先创建的索引按照搜索引擎或者索引引擎的方式进行数据查询,具体包括:
S2041、若查询语句为简单语句,判断查询语句返回的字段是否包括非索引字段,若是则执行步骤S2042;否则执行步骤S2043;
S2042、根据预先创建的索引按照索引引擎的方式进行数据查询;
S2043、根据预先创建的索引按照搜索引擎的方式进行数据查询。
具体地,确定查询语句为简单语句后,进一步判断该查询语句中的字段是否包括非索引字段。例如,在数据库中表picrecord的字段包括ID,car_num,car_color,dev_chnname,car_imgurl,其中倒排索引的字段包括“car_num,car_color”。若查询语句为select car_num from picrecord where car_num like‘浙*’,从select语句中确定该索引字段为car_num,且该car_num属于索引字段,因此该查询语句中不包括非索引字段;若查询语句为select car_num,car_imgurl from picrecord where car_num like‘浙*’,从select语句中确定该索引字段为car_num和car_imgurl,且该car_num属于索引字段,而car_imgurl不属于索引字段,因此该查询语句中包括非索引字段。进一步地,查询语句中仅包括索引字段,则直接从倒排索引的字段中确定查询语句的结果,并反馈给用户,从而节省了采用数据库查询的时间,提高了数据查询的效率。
以上仅是举例说明简单语句中是否包括非索引字段的具体方法,在具体实施时,不限于本发明实施例提供的上述方法,还可以是本领域技术人员可知的其他方法,在此不做限定。
在具体实施例中,本发明实施例提供的上述数据查询方法中,根据预先创建的索引按照索引引擎的方式进行数据查询,包括:根据索引字段,确定预先创建的索引中所述索引字段对应的ID号,根据该ID号在数据库中查找非索引字段对应的结果。
例如,在数据库中表picrecord的字段包括ID,car_num,car_color,dev_chnname,car_imgurl,其中倒排索引的字段包括“car_num,car_color”。若查询语句为select car_num,car_imgurl from picrecord where car_num like‘浙*’,从select语句中确定该索引字段为car_num和car_imgurl,且该car_num属于索引字段,而car_imgurl不属于索引字段。因此根据索引字段car_num确定数据库中的car_num的ID地址,然后在数据库的ID地址中查找car_imgurl的特征,并将该特征结果反馈给用户。
以上仅是举例说明简单语句中包括非索引字段的查询方法,在具体实施时,不限于本发明实施例提供的上述方法,还可以是本领域技术人员可知的其他方法,在此不做限定。
另外,在数据库中表picrecord的字段包括ID,car_num,car_color,dev_chnname,car_imgurl,其中倒排索引的字段包括“car_num,car_color”。若查询语句为select car_color,count(*)from picrecord where car_num like‘浙*’group by car_color。可见该查询语句中包括group by算子,则确定该查询语句为复杂语句,可选择数据库查询方式进行数据查询。
综上所述,本发明实施例提供的一种数据查询方法,包括:接收用户发送的查询语句,并通过执行器将该查询语句转换为逻辑执行计划树;然后根据该逻辑执行计划树中包括的算子确定该查询语句是否为复杂语句;当确定该查询语句为复杂语句则采用数据库查询的方式进行数据查询,其中包括普通查询、模糊查询;当确定该查询语句为简单语句,则将该查询语句转化为搜索引擎支持的语句,并判断该查询语句中是否包括非索引字段;若该查询语句不包括非索引字段,则按照搜索引擎的方式进行数据查询;若该查询语句中包括非索引字段,则根据索引字段,确定预先创建的索引中所述索引字段对应的ID号,根据该ID号在数据库中查找非索引字段对应的结果。因此,本发明实施例提供的数据查询方法包括三条查询路径,从而根据查询语句的特性确定最优的查询路径,提高数据查询的效率。
下面通过具体实施例介绍本发明实施例提供的一种数据查询方法的具体流程图。
参见图4,本发明实施例提供的一种数据查询方法的步骤包括:
S401、接收用户发送的查询语句;
S402、执行器对该查询语句进行解析,并转化为逻辑执行计划树;
其中,数据查询结构通过语法分析器模块和查询编译器模块将查询语句进行解析,并转化为逻辑执行计划树。
S403、查询该逻辑执行计划树,并确定该逻辑执行计划树中是否包括联接算子或聚集算子,若是则执行步骤S404,否则执行步骤S405;
S404、根据数据库查询方法进行数据查询,然后执行步骤S409;
S405、将该查询语句转化为搜索引擎支持的语句,然后执行步骤S406;
S406、判断该查询语句是否包括非索引字段,若是则执行步骤S407,否则执行步骤S408;
S407、确定该索引字段所对应的ID号,并发送给数据库,让数据库补全非索引字段所对应的特征,然后执行步骤S404;
S408、根据预先创建的索引按照搜索引擎的方式进行数据查询,然后执行步骤S409;
S409、将查询语句所对应的结果反馈给用户。
基于同一发明思想,参见图5,本发明实施例提供的一种数据查询装置,包括:
数据接收模块51,用于接收用户发送的查询语句,并将查询语句转化为逻辑执行计划树;
数据判断模块52,用于根据转化后的逻辑执行计划树中包含的算子判断所述查询语句是否为复杂语句,若是,则按照数据库查询方式进行数据查询;否则,根据预先创建的索引按照搜索引擎或者索引引擎的方式进行数据查询。
在具体实施例中,本发明实施例提供的上述数据查询装置中,数据判断模块52根据转化后的逻辑执行计划树中包含的算子判断所述查询语句是否为复杂语句,具体用于:
判断转化后的逻辑执行计划树中是否包括联接算子或聚集算子,若是则确定所述查询语句为复杂语句,否则,为简单语句。
在具体实施例中,本发明实施例提供的上述数据查询装置中,该装置还包括:
转换器,用于在确定所述查询语句为简单语句后,且根据预先创建的索引按照搜索引擎或者索引引擎的方式进行数据查询之前,将所述查询语句进行解析,并转化为搜索引擎所支持的语句。
在具体实施例中,本发明实施例提供的上述数据查询装置中,数据判断模块52根据预先创建的索引按照搜索引擎或者索引引擎的方式进行数据查询,具体用于:
若所述查询语句为简单语句,判断所述查询语句返回的字段是否包括非索引字段,若是则根据预先创建的索引按照索引引擎的方式进行数据查询;
否则根据预先创建的索引按照搜索引擎的方式进行数据查询。
在具体实施例中,本发明实施例提供的上述数据查询装置中,数据判断模块52根据预先创建的索引按照索引引擎的方式进行数据查询,具体用于:
根据所述索引字段,确定预先创建的索引中所述索引字段对应的ID号,根据所述ID号在数据库中确定所述非索引字段对应的结果。
综上所述,本发明实施例提供的一种数据查询方法及装置,该数据查询方法包括:接收用户发送的查询语句,并通过执行器将该查询语句转换为逻辑执行计划树;然后根据该逻辑执行计划树中包括的算子确定该查询语句是否为复杂语句;当确定该查询语句为复杂语句则采用数据库查询的方式进行数据查询,其中包括普通查询、模糊查询;当确定该查询语句为简单语句,则将该查询语句转化为搜索引擎支持的语句,并判断该查询语句中是否包括非索引字段;若该查询语句不包括非索引字段,则按照搜索引擎的方式进行数据查询;若该查询语句中包括非索引字段,则根据索引字段,确定预先创建的索引中所述索引字段对应的ID号,根据该ID号在数据库中查找非索引字段对应的结果。因此,本发明实施例提供的数据查询方法包括三条查询路径,从而根据查询语句的特性确定最优的查询路径,提高数据查询的效率。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

Claims (11)

1.一种数据查询方法,其特征在于,该方法包括:
接收用户发送的查询语句,并将所述查询语句转化为逻辑执行计划树;
根据转化后的逻辑执行计划树中包含的算子判断所述查询语句是否为复杂语句,若是,则按照数据库查询方式进行数据查询;
否则,根据预先创建的索引按照搜索引擎或者索引引擎的方式进行数据查询。
2.根据权利要求1所述的方法,其特征在于,所述根据转化后的逻辑执行计划树中包含的算子判断所述查询语句是否为复杂语句,包括:
判断转化后的逻辑执行计划树中是否包括联接算子或聚集算子,若是则确定所述查询语句为复杂语句,否则,为简单语句。
3.根据权利要求1所述的方法,其特征在于,确定所述查询语句为简单语句后,且根据预先创建的索引按照搜索引擎或者索引引擎的方式进行数据查询之前,该方法还包括:
将所述查询语句进行解析,并转化为搜索引擎所支持的语句。
4.根据权利要求3所述的方法,其特征在于,根据预先创建的索引按照搜索引擎或者索引引擎的方式进行数据查询,具体包括:
若所述查询语句为简单语句,判断所述查询语句返回的字段是否包括非索引字段,若是则根据预先创建的索引按照索引引擎的方式进行数据查询;
否则根据预先创建的索引按照搜索引擎的方式进行数据查询。
5.根据权利要求4所述的方法,其特征在于,根据预先创建的索引按照索引引擎的方式进行数据查询,包括:
根据所述索引字段,确定预先创建的索引中所述索引字段对应的ID号,根据所述ID号在数据库中确定所述非索引字段对应的结果。
6.根据权利要求1所述的方法,其特征在于,按照倒排索引的方式在本地创建索引。
7.一种数据查询装置,其特征在于,该装置包括:
数据接收模块,用于接收用户发送的查询语句,并将所述查询语句转化为逻辑执行计划树;
数据判断模块,用于根据转化后的逻辑执行计划树中包含的算子判断所述查询语句是否为复杂语句,若是,则按照数据库查询方式进行数据查询;否则,根据预先创建的索引按照搜索引擎或者索引引擎的方式进行数据查询。
8.根据权利要求7所述的装置,其特征在于,所述数据判断模块根据转化后的逻辑执行计划树中包含的算子判断所述查询语句是否为复杂语句,具体用于:
判断转化后的逻辑执行计划树中是否包括联接算子或聚集算子,若是则确定所述查询语句为复杂语句,否则,为简单语句。
9.根据权利要求7所述的装置,其特征在于,该装置还包括:
转换器,用于在确定所述查询语句为简单语句后,且根据预先创建的索引按照搜索引擎或者索引引擎的方式进行数据查询之前,将所述查询语句进行解析,并转化为搜索引擎所支持的语句。
10.根据权利要求9所述的装置,其特征在于,所述数据判断模块根据预先创建的索引按照搜索引擎或者索引引擎的方式进行数据查询,具体用于:
若所述查询语句为简单语句,判断所述查询语句返回的字段是否包括非索引字段,若是则根据预先创建的索引按照索引引擎的方式进行数据查询;
否则根据预先创建的索引按照搜索引擎的方式进行数据查询。
11.根据权利要求10所述的装置,其特征在于,所述数据判断模块根据预先创建的索引按照索引引擎的方式进行数据查询,具体用于:
根据所述索引字段,确定预先创建的索引中所述索引字段对应的ID号,根据所述ID号在数据库中确定所述非索引字段对应的结果。
CN201610554469.9A 2016-07-11 2016-07-11 一种数据查询方法及装置 Active CN106202451B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610554469.9A CN106202451B (zh) 2016-07-11 2016-07-11 一种数据查询方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610554469.9A CN106202451B (zh) 2016-07-11 2016-07-11 一种数据查询方法及装置

Publications (2)

Publication Number Publication Date
CN106202451A true CN106202451A (zh) 2016-12-07
CN106202451B CN106202451B (zh) 2019-11-19

Family

ID=57476085

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610554469.9A Active CN106202451B (zh) 2016-07-11 2016-07-11 一种数据查询方法及装置

Country Status (1)

Country Link
CN (1) CN106202451B (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108681593A (zh) * 2018-05-16 2018-10-19 青岛海信移动通信技术股份有限公司 业务数据检索方法及装置
CN108804554A (zh) * 2018-05-22 2018-11-13 上海达梦数据库有限公司 一种数据库查询方法、装置、服务器和存储介质
CN109766354A (zh) * 2018-12-04 2019-05-17 北京辰森世纪科技股份有限公司 业务数据查询的优化方法、装置及设备
CN111221860A (zh) * 2018-11-27 2020-06-02 北京奇虎科技有限公司 基于大数据的混合查询优化方法及装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1556482A (zh) * 2003-12-31 2004-12-22 中兴通讯股份有限公司 一种用于实现数据库多表查询的数据处理方法
CN104036007A (zh) * 2014-06-23 2014-09-10 北京京东尚科信息技术有限公司 一种分布式数据库查询方法及装置
CN104252533A (zh) * 2014-09-12 2014-12-31 百度在线网络技术(北京)有限公司 搜索方法和搜索装置
CN104331517A (zh) * 2014-11-26 2015-02-04 北京优特捷信息技术有限公司 一种检索方法及装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1556482A (zh) * 2003-12-31 2004-12-22 中兴通讯股份有限公司 一种用于实现数据库多表查询的数据处理方法
CN104036007A (zh) * 2014-06-23 2014-09-10 北京京东尚科信息技术有限公司 一种分布式数据库查询方法及装置
CN104252533A (zh) * 2014-09-12 2014-12-31 百度在线网络技术(北京)有限公司 搜索方法和搜索装置
CN104331517A (zh) * 2014-11-26 2015-02-04 北京优特捷信息技术有限公司 一种检索方法及装置

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108681593A (zh) * 2018-05-16 2018-10-19 青岛海信移动通信技术股份有限公司 业务数据检索方法及装置
CN108804554A (zh) * 2018-05-22 2018-11-13 上海达梦数据库有限公司 一种数据库查询方法、装置、服务器和存储介质
CN108804554B (zh) * 2018-05-22 2021-03-05 上海达梦数据库有限公司 一种数据库查询方法、装置、服务器和存储介质
CN111221860A (zh) * 2018-11-27 2020-06-02 北京奇虎科技有限公司 基于大数据的混合查询优化方法及装置
CN109766354A (zh) * 2018-12-04 2019-05-17 北京辰森世纪科技股份有限公司 业务数据查询的优化方法、装置及设备

Also Published As

Publication number Publication date
CN106202451B (zh) 2019-11-19

Similar Documents

Publication Publication Date Title
CN106202451A (zh) 一种数据查询方法及装置
CN107291807B (zh) 一种基于图遍历的sparql查询优化方法
CN104899314B (zh) 一种数据仓库的血统分析方法和装置
CN107463632A (zh) 一种分布式NewSQL数据库系统和数据查询方法
CN103064875B (zh) 一种服务化空间数据分布式查询方法
CN102682118B (zh) 一种多维数据模型访问方法及装置
CN103514201B (zh) 一种非关系型数据库的数据查询方法和装置
CN106777108A (zh) 一种基于混合存储架构的数据查询方法和装置
CN107169033A (zh) 基于数据模式转换和并行框架的关系数据查询优化方法
CN104424258A (zh) 多维数据查询的方法、查询服务器、列存储服务器及系统
CN110019314B (zh) 基于数据项分析的动态数据封装方法、客户端和服务端
CN110399395B (zh) 基于预计算的加速查询方法、存储介质
CN106777343A (zh) 增量分布式索引系统和方法
CN104077407A (zh) 一种智能数据搜索系统及方法
CN111506621A (zh) 一种数据统计方法及装置
CN109739882B (zh) 一种基于Presto和Elasticsearch的大数据查询优化方法
CN106156171B (zh) 一种面向虚拟资产数据的查询优化方法
CN106484815B (zh) 一种基于海量数据类sql检索场景的自动识别优化方法
CN101599161A (zh) 营销支持系统
CN110032676A (zh) 一种基于谓词关联的sparql查询优化方法及系统
CN105378724A (zh) 一种数据查询方法、装置及系统
Sheng et al. Dynamic top-k range reporting in external memory
CN109189873A (zh) 一种气象服务大数据监测分析系统平台
CN107229672A (zh) 一种针对SolrCloud的大数据SQL查询方法及系统
CN103020300B (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
GR01 Patent grant
GR01 Patent grant