The invention discloses an optimization method, device, device and storage medium for data query. After determining that the SQL statement of the parsed structured query language is a union set type statement, the optimization result of each branch statement in the union set type statement is determined; the branch statement to be executed is determined according to the optimization result of each branch statement; the technical means of structured query according to the branch statement to be executed solves the need of set class in the existing technology To query the branch statements in the union set type statements, we need to optimize the branch statements in the union set type statements, delete the branch statements that meet the optimization conditions, retain the branch statements that do not meet the optimization conditions, only query according to the reserved branch statements, reduce the number of scanned data tables, and improve the query efficiency.
【技术实现步骤摘要】
一种数据查询的优化方法、装置、设备及存储介质
本专利技术实施例涉及数据查询
,尤其涉及一种数据查询的优化方法、装置、设备及存储介质。
技术介绍
随着信息化的不断深入发展,数据生成速度正在提高,需要处理的数据量急速膨胀,大数据时代即将到来。所谓大数据指所涉及的数据量规模巨大,以至于无法通过主流软件在合理的时间内进行处理的数据。对大规模的数据进存储、查询以及分析已经成为一个亟待解决的问题。结构化查询语言(StructuredQueryLanguage,SQL),是一种特殊目的的编程语言,是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统。SQL通过不同的语句来实现数据查询和程序的设计,UNION集合类型语句是SQL语句中至关重要的一个语句。UNION集合类型语句一般包括多个分支语句,UNION集合类型语句主要将多个分支语句的查询结果进行集合操作。正常情况UNION集合类型语句中的各个分支语句都是先扫描表数据,然后根据过滤条件过滤数据得到结果集。基于上述技术方案,在使用UNION集合类型语句进行查询时,需要对每个分支语句对应的数据表进行扫描,降低了查询效率。
技术实现思路
本专利技术提供一种数据查询的优化方法、装置、设备及存储介质,以实现在使用UNION集合类型语句进行查询时,减少扫描数据表的个数,提升查询效率。第一方面,本专利技术实施例提供了一种数据查询的优化方法,包括:确定解析后的结构化查询语言SQL语句为UNION集合类型语 ...
【技术保护点】
1.一种数据查询的优化方法,其特征在于,包括:/n确定解析后的结构化查询语言SQL语句为UNION集合类型语句后,确定所述UNION集合类型语句中的各分支语句的优化结果;/n根据所述各分支语句的优化结果,确定待执行分支语句;/n按照所述待执行分支语句进行结构化查询。/n
【技术特征摘要】
1.一种数据查询的优化方法,其特征在于,包括:
确定解析后的结构化查询语言SQL语句为UNION集合类型语句后,确定所述UNION集合类型语句中的各分支语句的优化结果;
根据所述各分支语句的优化结果,确定待执行分支语句;
按照所述待执行分支语句进行结构化查询。
2.根据权利要求1所述的方法,其特征在于,所述确定所述UNION集合类型语句中的各分支语句的优化结果,包括:
针对各分支语句,判断分支语句是否满足优化条件;
如果所述分支语句满足优化条件,则确定所述分支语句的优化结果为删除满足优化条件的分支语句,将分支语句个数减一,得到后一分支语句对应的分支语句个数;其中,所述分支语句为UNION集合运算的分支,所述分支语句满足优化条件包括:所述分支语句的过滤条件为假,且所述分支语句对应的分支语句个数大于1;
如果所述分支语句未满足优化条件,则确定所述分支语句的优化结果为保留未满足优化条件的分支语句;其中,所述分支语句未满足优化条件包括:所述分支语句的过滤条件为真;和/或,所述分支语句的过滤条件为假,且所述分支语句对应的分支语句个数等于1。
3.根据权利要求2所述的方法,其特征在于,根据所述各分支语句的优化结果,确定待执行分支语句,包括:
将保留的未满足优化条件的各分支语句,确定为待执行分支语句。
4.根据权利要求1所述的方法,其特征在于,所述确定所述UNION集合类型语句中的各分支语句的优化结果之前,还包括:
将解析后的SQL语句的集合操作符作为SQL二叉树的根节点,建立SQL二叉树。
5.根据权利要求1所述的方法,其特征在于,所述确定所述UNION集合类型语句中的各分支语句的优化结果,包括:
采用先序遍历所述SQL二叉树每个节点,
根据所述SQL二叉树各个节点对应的节点类型,对所述UNION集合类型语句中的各个分支语句进行优化,得到各分支语句的优化结果。
6.根据权利要求1所述的方法...
【专利技术属性】
技术研发人员:朱仲颖,刘志勇,韩朱忠,
申请(专利权)人:上海达梦数据库有限公司,
类型:发明
国别省市:上海;31
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。