[发明专利]用于缓存和参数化IR的系统和方法有效
申请号: | 201680071878.1 | 申请日: | 2016-12-01 |
公开(公告)号: | CN108369591B | 公开(公告)日: | 2021-08-13 |
发明(设计)人: | 库马尔·拉吉夫·拉丝拓吉;丁永华;朱成 | 申请(专利权)人: | 华为技术有限公司 |
主分类号: | G06F16/2453 | 分类号: | G06F16/2453;G06F16/2452 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 518129 广东*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 用于 缓存 参数 ir 系统 方法 | ||
一种缓存和参数化中间表示代码的系统和方法,包括:数据库接收查询;所述数据库解析所述查询,以获取包含多个计划节点的计划树,所述多个计划节点布置成从顶层计划节点降序排列的层级次序;所述数据库为所述计划节点产生节点中间表示(intermediate representation,IR);所述数据库使用所述节点IR执行第一查询;以及所述数据库重用所述节点IR执行后续查询。
相关申请案交叉申请
本申请要求2015年12月7日递交的发明名称为“用于缓存和参数化IR的系统和方法(System and Method for Caching and Parameterizing IR)”的第14/960,894号美国非临时专利申请的在先申请优先权,该在先申请的内容以引入的方式并入本文本中。
技术领域
本发明大体上涉及数据库系统和方法,在特定实施例中,涉及缓存和参数化中间表示(intermediate representation,IR)代码的技术和机制。
背景技术
随着存储器和高速存储设备价格的下降,中央处理单元(central processingunit,CPU)性能和输入/输出(input/output,I/O)性能一样,已经成为数据库效率的瓶颈。传统的数据库系统必须容纳数据的所有变化和形式,因此传统的查询执行模型在执行查询时会做出很多分支和迭代决策。这种执行模型导致数据库引擎在运行时要解析和执行每一查询。这样,那些原本能共享相似代码分支的查询每次都必须重新解析、规划并执行。
已经有人提出用本机编译来解决与数据库引擎中单次解析和执行路径相关的问题。可以在运行时产生特定针对于某一查询的代码并由数据库引擎执行。产生为一个查询定制的计算机代码避免了用一种需要很多分支决策的迭代方式解析和执行多个查询。
一些编译器基础设施,例如低级虚拟机(low level virtual machine,LLVM)项目,提出了进行特定针对于查询的代码即时(just-in-time,JIT)编译。此类基础设施通常将查询简化为低级编程语言或中间表示(intermediate representation,IR),随后在运行时由JIT编译器将其转换为机器代码。JIT编译可以降低执行查询时所需的CPU处理功率,因为数据库引擎可以执行特定针对于所述查询的代码,而不是执行能够响应于任何查询的通用代码。但是,由于产生和编译特定针对于查询的IR需要大量CPU资源,因此JIT编译引入了开销。
发明内容
本公开实施例描述了用于缓存和参数化IR以降低JIT编译成本的系统和方法,基本实现了技术优势。
根据一实施例,提供了一种方法。所述方法包括:数据库接收查询;所述数据库解析所述查询以获取包含多个计划节点的计划树,所述多个计划节点布置成从顶层计划节点降序排列的层级次序;所述数据库为所述计划节点产生节点中间表示(intermediaterepresentations,IR);所述数据库使用所述节点IR执行第一查询;以及所述数据库重用所述节点IR执行后续查询。
根据另一实施例,提供了一种方法。所述方法包括数据库接收第一查询;所述数据库解析所述第一查询,以获取包含第一多个计划节点的第一计划树;所述数据库为所述第一多个计划节点产生第一节点中间表示(intermediate representations,IR);所述数据库参数化所述第一节点IR以生成参数化IR;所述数据库组合所述参数化IR以生成模块;所述数据库将所述模块和所述第一计划树存储在计划缓存中;以及所述数据库藉由所述模块执行所述第一查询。
根据又一实施例,提供了一种设备。所述设备包括处理器和存储有被所述处理器执行的程序的计算机可读存储介质。所述程序包括指令,用于接收查询;解析所述查询以获取包含多个计划节点的计划树,所述多个计划节点布置成从顶层计划节点降序排列的层级次序;为所述计划节点产生节点中间表示(intermediate representation,IR);使用所述节点IR执行第一查询;以及重用所述节点IR执行后续查询。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华为技术有限公司,未经华为技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201680071878.1/2.html,转载请声明来源钻瓜专利网。
- 上一篇:在非服务载波频率上调适D2D操作
- 下一篇:离心压缩机和操作离心压缩机的方法