【技术实现步骤摘要】
数据库操作语句的分析方法、存储介质与计算机设备
[0001]本专利技术涉及数据库领域,特别是涉及一种数据库操作语句的分析方法
、
存储介质与计算机设备
。
技术介绍
[0002]目前
KES
数据库在处理
UNION ALL
语句时,其左右的子查询可能有提升的必要,但必须先获取子查询内容,并逐一分析该子查询是否能被提升,例如:
Select * from (select * from test1 where a in (select b from test2))
;该子查询可以被优化为表连接形式,若该子查询作为
union all
语句的左右子查询内容,则需要进一步读取,即递归进入子查询,执行子查询优化
。
[0003]在处理
UNION ALL
语句的子查询优化问题上,在读取和分析子查询内容并构建子查询优化的相关数据结构时,耗费的计划时间比较久;若是处理存在多个
UNION ALL
的查询 ...
【技术保护点】
【技术特征摘要】
1.
一种数据库操作语句的分析方法,包括:获取所述数据库操作语句;逐层获取所述数据库操作语句包括的子查询语句;根据所述子查询语句的结构确定需要采取的目标判断条件;在所述子查询语句的结构符合所述目标判断条件的情况下,判定所述子查询语句不需要进行所述子查询优化,跳过子查询优化步骤
。2.
根据权利要求1所述的数据库操作语句的分析方法,其中,所述根据所述子查询语句的结构确定需要采取的目标判断条件的步骤包括:在所述子查询语句是由第一关键词进行并列链接的多个子查询语句子句组成的情况下,对多个所述子查询语句子句根据第一判断条件进行逐一判断,所述第一关键词包括
UNION ALL
;在所有的所述子查询语句子句符合第一判断条件的情况下,判定所述子查询语句符合所述第一判断条件
。3.
根据权利要求2所述的数据库操作语句的分析方法,其中,所述对多个所述子查询语句子句根据第一判断条件进行逐一判断的步骤包括:判断所述子查询语句子句是否存在第二关键词,所述第二关键词包括
where
;在所述子查询语句子句不存在所述第二关键词的情况下,判断所述子查询语句子句是否存在第三关键词,所述第三关键词包括
from
;在所述子查询语句子句不存在所述第三关键词的情况下,判定所述子查询语句子句符合所述第一判断条件
。4.
根据权利要求3所述的数据库操作语句的分析方法,其中,所述判断所述子查询语句子句是否存在第三关键词的步骤之后还包括:在所述子查询语句子句存在所述第三关键词的情况下,判断所述子查询语句子句是否仅查询单个数据表;在所述子查询语句子句仅查询单个数据表的情况下,判定所述子查询语句子句符合所述第一判断条件
。5.
根据权利要求4所述的数据库操作语句的分析方法,其中,所述判断所述子查询语句子句是否仅查询单个数据表的步骤之后还包括:在所述子查询语句子句不是仅查询单个数据表的情况下,判断所述第三关键词之后包含的内容是否包含所述第一关键词并且符合所述第一判断条件;在所述第三关键词之后包含的内容不包含所述第一关键词并且符合所述第一判断条件的情况下,判定所述子查询语句子句符合所述第一判断条件
。6.
根据权利要求3所述的数据库操作语句...
【专利技术属性】
技术研发人员:王源春,尹强,徐登峰,
申请(专利权)人:北京人大金仓信息技术股份有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。