System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 一种提高数据库计算查询性能的方法、装置和系统制造方法及图纸_技高网

一种提高数据库计算查询性能的方法、装置和系统制造方法及图纸

技术编号:41281703 阅读:6 留言:0更新日期:2024-05-11 09:32
本发明专利技术属于数据库技术领域,具体涉及一种提高数据库计算查询性能的方法、装置和系统。该方法通过构建查询运算符树,对树进行遍历并利用散列技术检测重复查询运算符,基于成本估算用引用节点替换重复运算符,以消除查询中的冗余计算,从而减少查询执行时间,提高查询性能。此外,该方法还引入动态调整查询执行计划的技术手段,以进一步优化查询计划,消除冗余计算,提升查询性能。该装置和系统应用该方法,包括接收查询模块、解析模块、优化模块、执行模块等单元,可应用于各类数据库系统中,为用户提供更快速的查询响应。

【技术实现步骤摘要】

本专利技术属于数据库,具体涉及一种提高数据库计算查询性能的方法、装置和系统


技术介绍

1、在数据库应用中,当用户发送查询语句时,数据库系统需要对查询语句进行解析、优化、编译并生成执行计划。对复杂的查询语句,其查询运算符树可能存在大量的重复和冗余计算。这会导致执行查询计划时重复执行相同的计算,增加了查询响应时间。

2、现有数据库系统在优化查询计划时,主要采用谓词下推、扫描方式选择等技术手段。对于查询运算符树中的重复计算问题,现有技术还未提供有效的解决方案。

3、因此,需要一种新的技术手段来消除查询中的重复运算,以提高查询性能。


技术实现思路

1、有鉴于此,本专利技术提供一种提高数据库计算查询性能的方法、装置和系统,以解决现有技术中存在的问题。

2、本专利技术所采用的具体技术方案为:

3、一种提高数据库计算查询性能的方法,包括以下步骤:

4、s101、接收数据库查询语句;

5、s102、解析查询语句构建查询运算符树;

6、s103、对查询运算符树进行遍历,利用散列技术检测查询运算符树中的重复运算符;

7、s104、基于成本估算的方式用引用节点替换重复运算符,消除冗余计算;

8、s105、动态调整查询执行计算,得到优化后的查询执行顺序,得到经优化的查询计划;

9、s106、执行经优化的查询计划。

10、进一步的,所述s104中,基于成本估算替换重复运算符的方法具体为:

11、对查询运算符树进行第一次遍历,构建运算符列表;

12、之后对查询运算符树进行第二次遍历,利用散列技术判断运算符是否重复,记录重复的运算符。

13、进一步的,所述替换重复运算符的方法具体包括以下步骤:

14、s201、对查询运算符树进行第三次遍历;s202、估算各运算符的执行成本;

15、s203、根据执行成本大小决定过滤、替换或调整运算符的执行顺序;

16、s204、对需要替换的重复运算符,用引用指向第一次出现的运算符的节点,通过引用的指针替换重复运算符。

17、进一步的,所述动态调整查询计算的方法具体为:

18、对重复出现过的特定运算符进行缓存;并行执行可并行的运算操作;

19、终止成本估算持续增长的查询。

20、本专利技术还提出执行上述提高数据库计算查询性能的方法的一种提高数据库计算查询性能的装置,包括:

21、接收模块,用于接收数据库查询语句;

22、解析模块,用于解析查询语句构建查询运算符树;

23、优化模块,用于对查询运算符树进行遍历,利用散列技术检测重复运算符,基于成本估算用引用节点替换重复运算符,并动态调整查询执行计划以消除冗余计算;

24、执行模块,用于执行经优化的查询计划。

25、进一步的,所述优化模块具体包括:

26、遍历单元,用于对查询运算符树进行多次遍历;

27、检测单元,用于在遍历过程中利用散列技术检测重复运算符;

28、替换单元,用于将重复运算符替换为引用节点。

29、进一步的,所述遍历单元进行的多次遍历包括:

30、第一次遍历,构建运算符列表;

31、第二次遍历,利用散列技术判断运算符是否重复;

32、第三次遍历,用引用节点替换重复运算符。

33、本专利技术还提出一种提高数据库计算查询性能的系统,包括上述装置,其特征在于,还包括:

34、数据库,连接所述装置,用于提供数据查询服务。

35、与现有技术相比,本专利技术的有益效果是:

36、1.本专利技术通过检测查询运算符树中的重复运算符,并用基于成本估算的引用节点替换和动态调整查询执行计划,可以消除查询中冗余的重复计算,从而减少查询执行时间,提高查询性能。

37、2.本专利技术的装置和系统应用该方法,可以为各类数据库系统提供更快速的查询响应。

38、3.本专利技术方法简单可行,装置和系统结构合理,易于实现和推广,适用于提升广泛数据库系统的查询性能。

本文档来自技高网...

【技术保护点】

1.一种提高数据库计算查询性能的方法,其特征在于,包括以下步骤:

2.根据权利要求1所述的方法,其特征在于,所述S104中,基于成本估算替换重复运算符的方法具体为:

3.根据权利要求2所述的方法,其特征在于,所述替换重复运算符的方法具体包括以下步骤:

4.根据权利要求3所述的方法,其特征在于,所述动态调整查询计算的方法具体为:

5.执行权利要求1-4之任一项所述的方法的一种提高数据库计算查询性能的装置,其特征在于,包括:

6.根据权利要求5所述的装置,其特征在于,所述优化模块具体包括:

7.根据权利要求6所述的装置,其特征在于,所述遍历单元进行的多次遍历包括:

8.一种提高数据库计算查询性能的系统,包括如权利要求6之所述的装置,其特征在于,还包括:

【技术特征摘要】

1.一种提高数据库计算查询性能的方法,其特征在于,包括以下步骤:

2.根据权利要求1所述的方法,其特征在于,所述s104中,基于成本估算替换重复运算符的方法具体为:

3.根据权利要求2所述的方法,其特征在于,所述替换重复运算符的方法具体包括以下步骤:

4.根据权利要求3所述的方法,其特征在于,所述动态调整查询计算的方法具体为:

【专利技术属性】
技术研发人员:倪鑫任德旺周俊鹏李丽娜
申请(专利权)人:中国航空工业集团公司西安航空计算技术研究所
类型:发明
国别省市:

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

1