数据库查询优化方法、装置、设备以及介质与流程

摘要: 本技术涉及数据库,尤其涉及一种数据库查询优化方法、装置、设备以及介质。背景技术:1、查询优化作为数据库管理系统中的一项关键任务,可以为给定的查询语句找到一个有效...
数据库查询优化方法、装置、设备以及介质与流程

本技术涉及数据库,尤其涉及一种数据库查询优化方法、装置、设备以及介质。

背景技术:

1、查询优化作为数据库管理系统中的一项关键任务,可以为给定的查询语句找到一个有效的执行策略,以提高该查询语句在数据库中的查询性能。

2、目前的数据库管理系统中,可以采用基于代价的优化器为查询语句找到代价最小的执行策略。例如,可以通过基数估计、代价模型、策略枚举和选择等,在语义等价的前提下,选择代价最小的执行策略。然而,随着数据规模的不断扩大和查询复杂度的提升,基于代价的优化器面临基数估计不准确、代价模型难以精确建模等挑战,导致执行策略的准确性过低。

技术实现思路

1、本技术实施例提供一种数据库查询优化方法、装置、设备以及介质,可以提高数据库查询优化的准确性。

2、本技术实施例一方面提供了一种数据库查询优化方法,包括:

3、获取样本查询语句,生成针对样本查询语句的至少两个第一优化提示集合;

4、根据每个第一优化提示集合的执行评估参数,在至少两个第一优化提示集合中构建样本优化标签和对比优化标签对;

5、获取样本查询语句的第一数据库辅助信息,根据样本查询语句和第一数据库辅助信息,构建第一任务提示信息;

6、根据第一任务提示信息和样本优化标签,对预训练语言模型的网络参数进行修正,得到第一查询优化模型;

7、根据第一任务提示信息和对比优化标签对,对第一查询优化模型进行参数优化,得到第二查询优化模型,第二查询优化模型用于生成结构化查询语句的查询优化提示集合。

8、本技术实施例一方面提供了一种数据库查询优化方法,包括:

9、获取结构化查询语句,以及结构化查询语句的第二数据库辅助信息,根据结构化查询语句和第二数据库辅助信息,构建第二任务提示信息;

10、通过第二查询优化模型,根据第二任务提示信息,输出针对结构化查询语句的查询优化提示集合;

11、根据查询优化知识库和查询优化工具库,对查询优化提示集合进行更新,得到至少一个候选提示集合;

12、在至少一个候选提示集合中,确定针对结构化查询语句的推荐提示集合。

13、本技术实施例一方面提供了一种数据库查询优化装置,包括:

14、提示生成模块,用于获取样本查询语句,生成针对样本查询语句的至少两个第一优化提示集合;

15、标签构建模块,用于根据每个第一优化提示集合的执行评估参数,在至少两个第一优化提示集合中构建样本优化标签和对比优化标签对;

16、第一输入构建模块,用于获取样本查询语句的第一数据库辅助信息,根据样本查询语句和第一数据库辅助信息,构建第一任务提示信息;

17、第一训练模块,用于根据第一任务提示信息和样本优化标签,对预训练语言模型的网络参数进行修正,得到第一查询优化模型;

18、第二训练模块,用于根据第一任务提示信息和对比优化标签对,对第一查询优化模型进行参数优化,得到第二查询优化模型,第二查询优化模型用于生成结构化查询语句的查询优化提示集合。

19、其中,提示生成模块获取样本查询语句,生成针对样本查询语句的至少两个第一优化提示集合时,用于执行以下步骤:

20、获取样本查询语句,获取针对样本查询语句的m个初始优化提示,m为大于1的整数;

21、根据m个初始优化提示的提示类型,对m个初始优化提示进行组合,得到n个第二优化提示集合,n为大于1的整数;

22、根据每个第二优化提示集合的执行评估参数,从n个第二优化提示集合中确定至少两个第一优化提示集合。

23、其中,提示生成模块根据每个第二优化提示集合的执行评估参数,从n个第二优化提示集合中确定至少两个第一优化提示集合时,用于执行以下步骤:

24、根据每个第二优化提示集合,调用数据库优化组件,生成样本查询语句在每个第二优化提示集合下的样本执行策略;

25、按照每个第二优化提示集合对应的样本执行策略,在数据库中执行样本查询语句,获取每个第二优化提示集合的执行评估参数;

26、在n个第二优化提示集合中,删除执行评估参数大于第一参数阈值的第二优化提示集合,得到至少两个第一优化提示集合。

27、其中,标签构建模块根据每个第一优化提示集合的执行评估参数,在至少两个第一优化提示集合中构建样本优化标签和对比优化标签对时,用于执行以下步骤:

28、根据每个第一优化提示集合对应的样本执行策略,对至少两个第一优化提示集合进行聚类处理,得到至少一个聚簇,根据至少一个聚簇,确定样本查询语句的样本优化标签;

29、在至少两个第一优化提示集合中,确定第一优化提示集合a和第一优化提示集合b,第一优化提示集合a的执行评估参数,大于第一优化提示集合b的执行评估参数;

30、若第一优化提示集合a的执行评估参数,与第一优化提示集合b的执行评估参数之间的差值大于第二参数阈值,则将第一优化提示集合a以及第一优化提示集合a的推理描述,确定为正优化标签;

31、将第一优化提示集合b以及第一优化提示集合b的推理描述,确定为负优化标签,将正优化标签和负优化标签,确定为样本查询语句的对比优化标签对。

32、其中,标签构建模块根据至少一个聚簇,确定样本查询语句的样本优化标签时,用于执行以下步骤:

33、通过预训练语言模型,对样本查询语句和每个聚簇内的第一优化提示集合进行语义分析,生成每个聚簇对应的第三优化提示集合,以及第三优化提示集合的推理描述;

34、获取第三优化提示集合的执行评估参数,在至少一个聚簇对应的第三优化提示集合中,将最小的执行评估参数所对应的第三优化提示集合确定为标签提示集合;

35、将标签提示集合以及标签提示集合的推理描述,确定为样本查询语句的样本优化标签。

36、其中,第一输入构建模块获取样本查询语句的第一数据库辅助信息,根据样本查询语句和第一数据库辅助信息,构建第一任务提示信息时,用于执行以下步骤:

37、构建样本查询语句的抽象语法树,获取抽象语法树的嵌套表示文本,将样本查询语句、嵌套表示文本、以及样本查询语句在数据库中的默认执行策略,确定为查询语义信息;

38、获取数据库的统计信息和数据库元信息,获取数据库的负载检测信息,将统计信息、数据库元信息以及负载检测信息,确定为第一数据库辅助信息;

39、获取任务指令文本和任务示例文本,将查询语义信息、第一数据库辅助信息、任务指令文本以及任务示例文本,确定为第一任务提示信息。

40、其中,第一训练模块根据第一任务提示信息和样本优化标签,对预训练语言模型的网络参数进行修正,得到第一查询优化模型时,用于执行以下步骤:

41、通过预训练语言模型,根据第一任务提示信息输出针对样本优化标签的第一预测条件概率;

42、确定第一预测条件概率的负对数似然损失,根据负对数似然损失,对预训练语言模型的网络参数进行修正,得到第一查询优化模型。

43、其中,对比优化标签对包括正优化标签和负优化标签;

44、第二训练模块根据第一任务提示信息和对比优化标签对,对第一查询优化模型进行参数优化,得到第二查询优化模型时,用于执行以下步骤:

45、对第一查询优化模型进行备份,得到参考模型,固定参考模型的网络参数;

46、通过参考模型,根据第一任务提示信息输出针对正优化标签的第二预测条件概率,以及针对负优化标签的第三预测条件概率;

47、通过第一查询优化模型,根据第一任务提示信息输出针对正优化标签的第四预测条件概率,以及针对负优化标签的第五预测条件概率;

48、根据第四预测条件概率和第二预测条件概率之间的第一对数比值,以及第五预测条件概率和第三预测条件概率之间的第二对数比值,确定正优化标签和负优化标签之间的对比偏好差值;

49、对对比偏好差值进行概率化映射,得到第一查询优化模型针对正优化标签和负优化标签的偏好优化损失;

50、根据偏好优化损失,对第一查询优化模型的网络参数进行修正,得到第二查询优化模型。

51、本技术实施例一方面提供了一种数据库查询优化装置,包括:

52、第二输入构建模块,用于获取结构化查询语句,以及结构化查询语句的第二数据库辅助信息,根据结构化查询语句和第二数据库辅助信息,构建第二任务提示信息;

53、模型输出模块,用于通过第二查询优化模型,根据第二任务提示信息,输出针对结构化查询语句的查询优化提示集合;

54、提示优化模块,用于根据查询优化知识库和查询优化工具库,对查询优化提示集合进行更新,得到至少一个候选提示集合;

55、提示推荐模块,用于在至少一个候选提示集合中,确定针对结构化查询语句的推荐提示集合。

56、其中,提示优化模块根据查询优化知识库和查询优化工具库,对查询优化提示集合进行更新,得到至少一个候选提示集合时,用于执行以下步骤:

57、根据查询优化提示集合构建树结构的根节点,通过协调智能对象调用查询优化工具库和查询优化知识库,对查询优化提示集合进行分析验证,得到查询优化提示集合的反馈评估信息;

58、根据反馈评估信息,确定查询优化提示集合的第一待修改提示,在专有智能对象集合中确定与第一待修改提示相匹配的第一专有智能对象;

59、调用第一专有智能对象,对根节点中的查询优化提示集合进行修改,得到第一候选提示集合,将第一候选提示集合构建为根节点的第一子节点;

60、根据根节点和第一子节点,对树结构进行节点扩展,得到至少一个候选提示集合,至少一个候选提示集合包括第一候选提示集合。

61、其中,提示优化模块根据根节点和第一子节点,对树结构进行节点扩展,得到至少一个候选提示集合时,用于执行以下步骤:

62、获取根节点的第一探索贡献参数,获取第一子节点的第二探索贡献参数;

63、若第二探索贡献参数大于第一探索贡献参数,则调用协调智能对象对第一子节点中的第一候选提示集合进行修改,得到第二候选提示集合,将第二候选提示集合构建为第二子节点;

64、若树结构中的节点数量满足探索停止条件,则停止对树结构进行节点扩展,得到至少一个候选提示集合,至少一个候选提示集合包括第二候选提示集合。

65、其中,提示优化模块获取第一子节点的第二探索贡献参数时,用于执行以下步骤:

66、根据第一子节点中的第一候选提示集合,执行结构化查询语句,得到结构化查询语句的查询执行时间,对查询执行时间进行归一化处理,得到第一子节点的性能参数;

67、根据第一子节点在树结构中的探索路径,获取第一子节点的摘要信息,对摘要信息进行语义分析,得到第一子节点的摘要置信度;

68、根据性能参数、摘要置信度、以及第一子节点的访问次数,确定第一子节点的第二探索贡献参数。

69、其中,该装置还包括:

70、知识库构建模块,用于获取数据库语料数据,对数据库语料数据进行语义分割,得到语料数据块集合;

71、该知识库构建模块,还用于对语料数据块集合中的每个语料数据块进行向量化编码,得到每个语料数据块的数据编码向量,将每个语料数据块的数据编码向量,构建为查询优化知识库;

72、工具库构建模块,用于根据数据库查询优化任务构建至少一个辅助工具,获取每个辅助工具的接口描述信息,将至少一个辅助工具以及每个辅助工具的接口描述信息,构建为查询优化工具库。

73、其中,该装置还包括:

74、执行策略生成模块,用于根据推荐提示集合,调用数据库优化组件,生成结构化查询语句的查询执行策略;

75、查询结果获取模块,用于按照查询执行策略,在数据库中执行结构化查询语句,得到结构化查询语句的数据查询结果。

76、本技术实施例一方面提供了一种计算机设备,包括存储器和处理器,存储器与处理器相连,存储器用于存储计算机程序,处理器用于调用计算机程序,以使得该计算机设备执行本技术实施例中上述一方面提供的方法。

77、本技术实施例一方面提供了一种计算机可读存储介质,计算机可读存储介质中存储有计算机程序,计算机程序适于由处理器加载并执行,以使得具有处理器的计算机设备执行本技术实施例中上述一方面提供的方法。

78、根据本技术的一个方面,提供了一种计算机程序产品,该计算机程序产品可以包括计算机程序,该计算机程序存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机程序,处理器执行该计算机程序,使得该计算机设备执行上述一方面提供的方法。

79、本技术实施例中,可以获取样本查询语句,生成针对该样本查询语句的至少两个第一优化提示集合,根据每个第一优化提示集合的执行评估参数,在至少两个第一优化提示集合中构建样本优化标签和对比优化标签对。根据样本查询语句和第一数据库辅助信息,构建第一任务提示信息,该第一任务提示信息可以作为模型训练过程中的输入数据,指导模型更准确地理解样本查询语句。根据第一任务提示信息和样本优化标签,对预训练语言模型进行训练(有监督微调),可以得到第一查询优化模型;在第一查询优化模型的基础上,根据第一任务提示信息和对比优化标签对,对第一查询优化模型进行偏好优化,得到第二查询优化模型,可以提高第二查询优化模型的性能;将第二查询优化模型应用在数据库查询优化任务中,可以提高数据库查询优化的准确性。