[发明专利]一种SQL语句执行方法及装置有效
| 申请号: | 201610818671.8 | 申请日: | 2016-09-12 |
| 公开(公告)号: | CN107818100B | 公开(公告)日: | 2019-12-20 |
| 发明(设计)人: | 邓长春;陈国栋;郭峰;席大超 | 申请(专利权)人: | 杭州海康威视数字技术股份有限公司 |
| 主分类号: | G06F16/2455 | 分类号: | G06F16/2455 |
| 代理公司: | 11413 北京柏杉松知识产权代理事务所(普通合伙) | 代理人: | 孙翠贤;项京 |
| 地址: | 310052 浙江省杭*** | 国省代码: | 浙江;33 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 sql 语句 执行 方法 装置 | ||
1.一种结构化查询语言SQL语句执行方法,其特征在于,应用于电子设备,所述电子设备本地保存有SQL语句执行过程中,编译阶段输入与输出的对应关系,所述方法包括:
接收待执行的目标SQL语句;
针对各编译过程,执行下列步骤:
在本地保存的该编译过程输入与输出的对应关系中,查找是否存在与所述目标SQL语句在该编译过程的输入匹配的目标输入;
如果存在,将所述目标输入对应的目标输出作为所述目标SQL语句在该编译过程的输出,并将该输出作为所述目标SQL语句在下一编译过程的输入;
如果不存在,根据所述目标SQL语句在该编译过程的输入,对所述目标SQL语句进行相应的编译,得到所述目标SQL语句在该编译过程的输出,将该输出作为所述目标SQL语句在下一编译过程的输入;
当得到所述目标SQL语句在物理优化阶段输出的物理执行树时,将所述物理执行树输入执行引擎执行。
2.根据权利要求1所述的方法,其特征在于,所述根据所述目标SQL语句在该编译过程的输入,对所述目标SQL语句进行相应的编译,得到所述目标SQL语句在该编译过程的输出之后,所述方法还包括:
保存所述目标SQL语句在该编译过程的输入与输出的对应关系。
3.根据权利要求1所述的方法,其特征在于,所述电子设备本地保存有SQL语句执行过程中,耗时大于阈值的编译过程输入与输出的对应关系;所述针对各编译过程,执行下列步骤之前,所述方法还包括:
针对各编译过程,判断本地是否保存有该编译过程输入与输出的对应关系;
所述针对各编译过程,执行下列步骤包括:
针对各编译过程,当确定本地保存有该编译过程输入与输出的对应关系时,执行下列步骤。
4.根据权利要求1所述的方法,其特征在于,所述电子设备本地保存有SQL语句与物理执行树的对应关系;所述针对各编译过程,执行下列步骤包括:
在本地保存的SQL语句与物理执行树的对应关系中,查找是否存在与所述目标SQL语句匹配的SQL语句;
如果存在,将所查找到的SQL语句对应的物理执行树确定为所述目标SQL语句在物理优化阶段输出的物理执行树;
如果不存在,对所述目标SQL语句进行编译,得到所述目标SQL语句在物理优化阶段输出的物理执行树。
5.根据权利要求4所述的方法,其特征在于,所述对所述目标SQL语句进行编译,得到所述目标SQL语句在物理优化阶段输出的物理执行树之后,所述方法还包括:
保存所述目标SQL语句与所得到的物理执行树的对应关系。
6.根据权利要求1所述的方法,其特征在于,所述根据所述目标SQL语句在该编译过程的输入,对所述目标SQL语句进行相应的编译,得到所述目标SQL语句在该编译过程的输出包括:
在本地保存的该编译过程输入与输出的对应关系中,查找与所述目标SQL语句在该编译过程的输入匹配度大于预定阈值且匹配度最高的目的输入;
确定所述目标SQL语句在该编译过程的输入与所述目的输入包含的相同部分,并将该相同部分作为第一输入分片,将所述目标SQL语句在该编译过程的输入中,第一输入分片之外的部分作为第二输入分片;
在所述目的输入对应的目的输出中,识别与所述第一输入分片对应的第一输出分片;
对所述第二输入分片进行相应的编译,得到所述第二输入分片对应的第二输出分片;
对所述第一输出分片和所述第二输出分片进行整合,得到所述目标SQL语句在该编译过程的输出。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于杭州海康威视数字技术股份有限公司,未经杭州海康威视数字技术股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201610818671.8/1.html,转载请声明来源钻瓜专利网。





