[发明专利]数据库查询系统和方法有效
申请号: | 201680056094.1 | 申请日: | 2016-09-20 |
公开(公告)号: | CN108027838B | 公开(公告)日: | 2020-12-08 |
发明(设计)人: | 朱成;丁永华;张国根 | 申请(专利权)人: | 华为技术有限公司 |
主分类号: | G06F16/2453 | 分类号: | G06F16/2453;G06F16/25 |
代理公司: | 北京三高永信知识产权代理有限责任公司 11138 | 代理人: | 颜晶 |
地址: | 广东省深圳市*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 数据库 查询 系统 方法 | ||
1.一种数据库查询方法,其特征在于,包括:
数据库系统接收查询;
根据所述查询形成运行时计划树,所述运行时计划树包括多个函数节点,所述多个函数节点对应于用于执行所述查询的函数;
遍历所述运行时计划树,包括:
确定所述运行时计划树的函数节点是否支持代码生成以及即时编译;
在确定所述函数节点支持代码生成以及即时编译时:
根据所述函数节点的函数生成字符串键;
确定所述字符串键对应的编译对象是否存储在编译对象缓存中,所述编译对象缓存包括与多个已编译的函数相对应的多个编译对象,每个编译对象与一个字符串键相关联,所述每个编译对象重复用于执行包含相同函数的查询;
执行所述查询,若所述字符串键对应的编译对象存储在所述编译对象缓存中,则通过所述字符串键对应的编译对象来执行所述函数节点的函数。
2.根据权利要求1所述的方法,其特征在于,还包括:在遍历所述运行时计划树之后进行运行时执行。
3.根据权利要求1所述的方法,其特征在于,所述确定所述运行时计划树的函数节点是否支持代码生成以及即时编译,包括:进行中央处理器性能分析。
4.根据权利要求1至3中任一项所述的方法,其特征在于,还包括:确定所述运行时计划树的初始化是否完成。
5.根据权利要求4所述的方法,其特征在于,还包括:在确定所述运行时计划树的初始化完成时进行运行时执行。
6.根据权利要求1所述的方法,其特征在于,所述遍历所述运行时计划树还包括:在确定所述字符串键对应的编译对象在所述编译对象缓存中时:
根据所述字符串键从所述编译对象缓存中检索所述编译对象;
设置所述编译对象的函数指针。
7.根据权利要求6所述的方法,其特征在于,所述遍历所述运行时计划树还包括:在确定所述编译对象在所述编译对象缓存中时:
重新映射所述编译对象的符号;
重新定位所述编译对象的符号的地址。
8.根据权利要求1所述的方法,其特征在于,所述遍历所述运行时计划树还包括:在确定所述编译对象不在所述编译对象缓存中时,根据所述函数节点的函数生成底层虚拟机中间表示格式函数。
9.根据权利要求8所述的方法,其特征在于,所述遍历所述运行时计划树还包括:对所述底层虚拟机中间表示格式函数进行机器代码即时编译以生成编译对象;
将所述编译对象存储在所述编译对象缓存中。
10.根据权利要求9所述的方法,其特征在于,所述遍历所述运行时计划树还包括:设置所述编译对象缓存中所述编译对象的函数指针。
11.根据权利要求9所述的方法,其特征在于,所述对所述底层虚拟机中间表示格式函数进行机器代码即时编译包括:对包括与所述查询相对应的查询计划的多个片段的一组函数进行编译。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华为技术有限公司,未经华为技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201680056094.1/1.html,转载请声明来源钻瓜专利网。