一种数据查询方法和装置制造方法及图纸

技术编号:24168705 阅读:67 留言:0更新日期:2020-05-16 02:15
本发明专利技术公开了一种数据查询方法和装置,用于解决若使用不适当的SQL查询方式可能导致的运算量大,查询耗时较长的问题,本申请实施例预先设置不同查询条件组成的查询条件集合对应的查询优化方案集合,当获取到用户输入的查询内容时,可根据该查询内容包含的查询条件匹配查询条件集合,并根据预设的查询条件集合与查询优化方案的对应关系确定用户输入的查询内容匹配的查询条件集合对应的查询优化方案,并根据确定的查询优化方案生成查询语句,执行查询语句从待查询数据中获取查询结果,本申请可以实现针对不同的查询内容能够灵活的适配最佳的查询优化方案,本申请查询优化方式更加灵活,应用性较强。

A data query method and device

【技术实现步骤摘要】
一种数据查询方法和装置
本专利技术涉及计算机
,特别涉及一种数据查询方法和装置。
技术介绍
SQL,(StructuredQueryLanguage,结构化查询语言)是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统。其中,关系数据库系统中,由行和列组成的二维表作为数据存储的最基本的容器,多个二维表之间往往存在关联,因此,每个二维表又称为“关系”。对关系数据库中数据的绝大多数操作,都是通过SQL编写而实现的。SQL语言具有相当程度的灵活性,针对给定的一个查询内容(或查询需求),可能会存在多种SQL写法均能得到目标结果,但是不同的写法,性能耗时往往会有较大的差别。综上所述,现有若使用不适当的SQL查询方式则可能导致运算量大,查询耗时较长。
技术实现思路
本专利技术提供一种数据查询方法和装置,用以解决现有若使用不适当的SQL查询方式则可能导致运算量大,查询耗时较长的问题。第一方面,本专利技术实施例提供的一种数据查询方法包括:确定用户输入的查询内容包含的查询条件;根据预设的查询条件集合与查询优化方案集合的对应关系,确定与所述查询内容包含的查询条件匹配的查询条件集合对应的查询优化方案集合,其中所述查询条件集合包括至少一个查询条件,所述查询优化方案集合包括至少一个查询优化方案;根据确定的所述查询优化方案集合生成查询语句;执行生成的所述查询语句从待查询数据中获取所述查询内容对应的查询结果。上述方法,预先设置不同查询条件组成的查询条件集合对应的查询优化方案集合,当获取到用户输入的查询内容时,可根据该查询内容包含的查询条件匹配查询条件集合,并根据预设的查询条件集合与查询优化方案的对应关系确定用户输入的查询内容匹配的查询条件集合对应的查询优化方案,并根据确定的查询优化方案生成查询语句,执行查询语句从待查询数据中获取查询结果,本申请可以实现针对不同的查询内容能够灵活的适配最佳的查询优化方案,避免使用单一的优化方式对不同的查询内容构建的查询语句进行固定、统一的优化,本申请查询优化方式更加灵活,应用性较强。在一种可选的实施方式中,所述根据确定的所述查询优化方案集合生成查询语句,包括:若所述查询优化方案集合包含至少两个查询优化方案,则根据查询优化方案的优先级确定针对所述查询内容进行查询时,各查询优化方案的执行顺序;按照所述查询优化方案的执行顺序生成所述查询语句。在一种可选的实施方式中,通过下列方式确定与所述查询内容包含的查询条件匹配的查询条件集合:若历史查询数据未包含所述查询内容包含的任一查询条件,或所述历史查询数据包含所述查询内容包含的部分查询条件且包含的部分查询条件和未包含的部分查询条件之间没有交集,则将仅包含目标查询条件的查询条件集合作为与所述查询内容包含的查询条件匹配的查询条件集合;其中,所述目标查询条件为查询内容包含的且历史查询数据未包含的查询条件。在一种可选的实施方式中,所述方法还包括:若所述历史查询数据包含所述查询内容包含的部分查询条件且包含的部分查询条件和未包含的部分查询条件之间没有交集,则针对所述历史查询数据包含所述查询内容包含的部分查询条件,从历史查询数据中获取所述历史数据包含的部分查询条件对应的查询结果;所述从待查询数据中获取所述查询内容对应的查询结果之后,包括:根据从所述待查询数据中获取的所述查询结果和从所述历史查询数据中获取的所述查询结果确定最终的查询结果。在一种可选的实施方式中,所述方法还包括:若所述历史查询条件中包含所述查询内容包含的所有查询条件,则获取所述历史查询数据中所述查询内容对应的查询结果。在一种可选的实施方式中,所述方法还包括:若所述历史查询数据包含所述查询内容包含的部分查询条件且包含的部分查询条件和未包含的部分查询条件之间有交集,则获取所述历史查询数据包所述查询内容包含的部分查询条件对应的查询结果;针对所述未包含的部分查询条件生成对应的复用查询语句;将执行所述复用查询语句从获取的所述查询结果中获取所述未包含的部分查询条件对应的查询结果作为最终的查询结果。在一种可选的实施方式中,所述执行生成的所述查询语句从待查询数据中获取所述查询内容对应的查询结果之后,还包括:将所述目标查询条件与对应的查询结果添加至所述历史查询数据中。在一种可选的实施方式中,所述查询内容包含的查询条件处于待查询数据范围内。在一种可选的实施方式中,所述查询条件包括下列中的部分或全部:输出列表的列信息、列表过滤或对列表进行分组。在一种可选的实施方式中,所述查询优化方案包括下列中的部分或全部:In优化、exists优化或非空唯一优化。第二方面,本专利技术实施例还提供了一种数据查询的装置,该装置包括:处理器以及存储器,其中,所述存储器存储有程序代码,当所述存储器存储的一个或多个计算机程序被所述处理器执行时,使得所述终端执行下列过程:确定用户输入的查询内容包含的查询条件;根据预设的查询条件集合与查询优化方案集合的对应关系,确定与所述查询内容包含的查询条件匹配的查询条件集合对应的查询优化方案集合,其中所述查询条件集合包括至少一个查询条件,所述查询优化方案集合包括至少一个查询优化方案;根据确定的所述查询优化方案集合生成查询语句;执行生成的所述查询语句从待查询数据中获取所述查询内容对应的查询结果。在一种可能的实现方式中,所述处理器具体用于:若所述查询优化方案集合包含至少两个查询优化方案,则根据查询优化方案的优先级确定针对所述查询内容进行查询时,各查询优化方案的执行顺序;按照所述查询优化方案的执行顺序生成所述查询语句。在一种可能的实现方式中,所述处理器通过下列方式确定与所述查询内容包含的查询条件匹配的查询条件集合:若历史查询数据未包含所述查询内容包含的任一查询条件,或所述历史查询数据包含所述查询内容包含的部分查询条件且包含的部分查询条件和未包含的部分查询条件之间没有交集,则将仅包含目标查询条件的查询条件集合作为与所述查询内容包含的查询条件匹配的查询条件集合;其中,所述目标查询条件为查询内容包含的且历史查询数据未包含的查询条件。在一种可能的实现方式中,所述处理器还用于:若所述历史查询数据包含所述查询内容包含的部分查询条件且包含的部分查询条件和未包含的部分查询条件之间没有交集,则针对所述历史查询数据包含所述查询内容包含的部分查询条件,从历史查询数据中获取所述历史数据包含的部分查询条件对应的查询结果;所述从待查询数据中获取所述查询内容对应的查询结果之后,根据从所述待查询数据中获取的所述查询结果和从所述历史查询数据中获取的所述查询结果确定最终的查询结果。在一种可能的实现方式中,所述处理器还用于:若所述历史查询条件中包含所述查询内容包含的所有查询条件,则获取所述历史查询数据中所述本文档来自技高网...

【技术保护点】
1.一种数据查询方法,其特征在于,该方法包括:/n确定用户输入的查询内容包含的查询条件;/n根据预设的查询条件集合与查询优化方案集合的对应关系,确定与所述查询内容包含的查询条件匹配的查询条件集合对应的查询优化方案集合,其中所述查询条件集合包括至少一个查询条件,所述查询优化方案集合包括至少一个查询优化方案;/n根据确定的所述查询优化方案集合生成查询语句;/n执行生成的所述查询语句从待查询数据中获取所述查询内容对应的查询结果。/n

【技术特征摘要】
1.一种数据查询方法,其特征在于,该方法包括:
确定用户输入的查询内容包含的查询条件;
根据预设的查询条件集合与查询优化方案集合的对应关系,确定与所述查询内容包含的查询条件匹配的查询条件集合对应的查询优化方案集合,其中所述查询条件集合包括至少一个查询条件,所述查询优化方案集合包括至少一个查询优化方案;
根据确定的所述查询优化方案集合生成查询语句;
执行生成的所述查询语句从待查询数据中获取所述查询内容对应的查询结果。


2.如权利要求1所述的方法,其特征在于,所述根据确定的所述查询优化方案集合生成查询语句,包括:
若所述查询优化方案集合包含至少两个查询优化方案,则根据查询优化方案的优先级确定针对所述查询内容进行查询时,各查询优化方案的执行顺序;
按照所述查询优化方案的执行顺序生成所述查询语句。


3.如权利要求1所述的方法,其特征在于,通过下列方式确定与所述查询内容包含的查询条件匹配的查询条件集合:
若历史查询数据未包含所述查询内容包含的任一查询条件,或所述历史查询数据包含所述查询内容包含的部分查询条件且包含的部分查询条件和未包含的部分查询条件之间没有交集,则将仅包含目标查询条件的查询条件集合作为与所述查询内容包含的查询条件匹配的查询条件集合;
其中,所述目标查询条件为查询内容包含的且历史查询数据未包含的查询条件。


4.如权利要求3所述的方法,其特征在于,所述方法还包括:
若所述历史查询数据包含所述查询内容包含的部分查询条件且包含的部分查询条件和未包含的部分查询条件之间没有交集,则针对所述历史查询数据包含所述查询内容包含的部分查询条件,从历史查询数据中获取所述历史数据包含的部分查询条件对应的查询结果;
所述从待查询数据中获取所述查询内容对应的查询结果之后,包括:
根据从所述待查询数据中获取的所述查询结果和从所述历史查询数据中获取的所述查询结
果确定最终的查询结果。


5.如权利要求3所述的方法,其特征在于,所述方法还包括:
若所述历史查询条件中包含所述查询内容包含的所有查询条件,则获取所述历史查询数据中所述查询内容对应的查询结果。


6.如权利要求3所述的方法,其特征在于,所述方法还包括:
若所述历史查询数据包含所述查询内容包含的部分查询条件且包含的部分查询条件和未包含的部分查询条件之间有交集,则获取所述历史查询数据包所述查询内容包含的部分查询条件对应的查询结果;
针对所述未包含的部分查询条件生成对应的复用查询语句;
将执行所述复用查询语句从获取的所述查询结果中获取所述未包含的部分查询条件对应的查询结果作为最终的查询结果。


7.如权利要求4所述的方法,其特征在于,所述执行生成的所述查询语句从待查询数据中获取所述查询内容对应的查询结果之后,还包括:
将所述目标查询条件与对应的查询结果添加至所述历史查询数据中。


8.如权利要求1~7任一所述的方法,其特征在于,所述查询内容包含的查询条件处于待查询数据范围内。


9.如权利要求1~7任一所述的方法,其特征在于,所述查询条件包括下列中的部分或全部:
输出列表的列信息、列表过滤或对列表进行分组。


10.如权利要求1~7任一所述的方法,其特征在于,所述查询优化方案包括下列中的部分或全部:
In优化、exists优化或非空唯一优化。


11.一种数据查询的装置,其特征在于,该装置包括:处理器以及存储器,其中,所述存储器存储有程序代码,当所述存储器存储的一个或多个计算机程序被所述处理器执行时,使得所述终端执行下列过程:
确定用户输入的查询内容包含的查询条件;
根据预设的查询条件集合与查询优化方案集合的对应关系,确定与所述查询内容包含的查询条件匹配的查询条件集合对应的查询优化方案集合,其中所述查询条件集合包括至少一个查询...

【专利技术属性】
技术研发人员:范宏伟
申请(专利权)人:北京神州绿盟信息安全科技股份有限公司北京神州绿盟科技有限公司
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1