【技术实现步骤摘要】
查询优化器的数据处理方法、装置及电子设备
[0001]本专利技术涉及数据库
,尤其是涉及一种查询优化器的数据处理方法、装置及电子设备。
技术介绍
[0002]查询优化器是负责生成SQL(Structured Query Language,结构化查询语言)语句的有效执行计划的数据库引擎组件。
[0003]在数据库实际使用中,查询优化器会根据SQL语句对应的查询树,生成多个路径,并保留最优路径,由最优路径生成执行计划,其中路径代表了对查询树中每个基本表中数据的访问方式以及基本表之间的连接方式和连接顺序。然而在数据库内核测试中,仅凭借一条最优路径生成的执行计划来验证SQL语句的执行结果的正确性,测试覆盖率较低,无法保证数据库内核中各个模块的正确性。
技术实现思路
[0004]本专利技术的目的在于提供一种查询优化器的数据处理方法、装置及电子设备,以提高测试覆盖率。
[0005]第一方面,本专利技术实施例提供了一种查询优化器的数据处理方法,所述方法包括:
[0006]获取查询语句对应的多个基本表;
[0007]采用随机方式,从目标连接表对应的多条路径中确定一条目标路径;其中,所述目标连接表由多个所述基本表组成,所述路径用于指示对所述目标连接表中的每个所述基本表中数据的访问方式,以及各个所述基本表之间的连接方式和连接顺序;
[0008]由所述目标路径生成执行计划,以按照所述执行计划执行所述查询语句。
[0009]进一步地,所述采用随机方式,从目标连接表对应的多 ...
【技术保护点】
【技术特征摘要】
1.一种查询优化器的数据处理方法,其特征在于,所述方法包括:获取查询语句对应的多个基本表;采用随机方式,从目标连接表对应的多条路径中确定一条目标路径;其中,所述目标连接表由多个所述基本表组成,所述路径用于指示对所述目标连接表中的每个所述基本表中数据的访问方式,以及各个所述基本表之间的连接方式和连接顺序;由所述目标路径生成执行计划,以按照所述执行计划执行所述查询语句。2.根据权利要求1所述的方法,其特征在于,所述采用随机方式,从目标连接表对应的多条路径中确定一条目标路径,包括:根据预设的随机模式,从所述目标连接表对应的多条路径中确定一条目标路径;其中,所述随机模式包括第一随机模式、第二随机模式、第三随机模式或第四随机模式,所述第一随机模式表示从所述目标连接表对应的所有路径中随机选取所述目标路径,所述第二随机模式表示基于路径的总代价从所述目标连接表对应的所有路径中随机选取所述目标路径,所述第三随机模式表示基于路径的启动代价从所述目标连接表对应的所有路径中随机选取所述目标路径,所述第四随机模式表示基于路径的总代价和启动代价从所述目标连接表对应的所有路径中随机选取所述目标路径。3.根据权利要求2所述的方法,其特征在于,所述随机模式为第一随机模式,所述根据预设的随机模式,从所述目标连接表对应的多条路径中确定一条目标路径,包括:以所述基本表为节点构建所述目标路径的第一层;在所述第一层中,对于每个所述基本表,保存采用预设的随机算法从该基本表对应的多种访问方式中确定的一种访问方式;以由两个所述基本表组成的第二连接表为节点构建所述目标路径的第二层;在所述第二层中,将所述第一层中的各个所述基本表两两连接,得到每个所述第二连接表对应的多条第二路径,并保存采用所述随机算法从每个所述第二连接表对应的多条第二路径中确定的一条第二路径,其中,每个所述第二连接表对应的不同第二路径所对应的连接方式不同;以由k个所述基本表组成的第k连接表为节点构建所述目标路径的第k层;在所述第k层中,将第m
k
层中的各个第m
k
连接表与第n
k
层中的各个第n
k
连接表两两连接,得到每个所述第k连接表对应的多条第k路径,并保存采用所述随机算法从每个所述第k连接表对应的多条第k路径中确定的一条第k路径,其中,每个所述第k连接表对应的不同第k路径所对应的连接顺序不同,k为大于2且小于N的整数,N为所述基本表的数量,m
k
和n
k
均为随机选取的正整数,且m
k
+n
k
=k,当m
k
或n
k
为1时,对应的第一连接表为所述基本表;以由N个所述基本表组成的目标连接表为节点构建所述目标路径的第N层;在所述第N层中,将第m
N
层中的各个第m
N
连接表与第n
N
层中的各个第n
N
连接表两两连接,得到所述目标连接表对应的多条路径,并保存采用所述随机算法从所述目标连接表对应的多...
【专利技术属性】
技术研发人员:李金鑫,
申请(专利权)人:北京金山云网络技术有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。