[发明专利]一种执行计划查看方法、装置、服务器及存储介质有效
申请号: | 201811550294.X | 申请日: | 2018-12-18 |
公开(公告)号: | CN109684351B | 公开(公告)日: | 2020-11-06 |
发明(设计)人: | 望声宜 | 申请(专利权)人: | 上海达梦数据库有限公司 |
主分类号: | G06F16/242 | 分类号: | G06F16/242;G06F16/2455 |
代理公司: | 北京品源专利代理有限公司 11332 | 代理人: | 孟金喆 |
地址: | 201203 上海*** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 执行 计划 查看 方法 装置 服务器 存储 介质 | ||
本发明实施例提供了一种执行计划查看方法、装置、服务器及存储介质,该方法包括:获取调试客户端的执行计划查看指令,所述执行计划查看指令包括语句行号和句柄ID;根据所述语句行号和所述句柄ID确定待查看的执行计划的偏移位置;根据所述待查看的执行计划的偏移位置显示对应的执行计划。通过采用上述技术方案,实现了查看PLSQL语句块中单条SQL语句对应的执行计划。
技术领域
本发明实施例涉及数据库技术领域,尤其涉及一种执行计划查看方法、装置、服务器及存储介质。
背景技术
过程化SQL语言(Procedural Language/SQL,PLSQL)是一种数据库中经常用到的语言,是对标准SQL语句的扩展,将数据操纵和SQL查询语句组织在PLSQL语句块中,目前的主流数据库基本都提供了PLSQL语句块的调试功能。当数据库接收到PLSQL语句块后,需要根据其访问任务和目的,制定可执行的、用以返回用户所期望的结果的程序实例,即执行计划。也就是说,用户输入了PLSQL语句块,但并不知道数据库会执行怎样的具体操作以完成此任务,因此通常需要查看具体的执行计划。
在实际应用中,用户常常期望确认PLSQL语句块中的某一条SQL语句使用的是什么执行计划,但执行计划是根据PLSQL语句块生成的整体的执行计划,现有的方法无法提供查看PLSQL语句块中单条SQL语句对应的执行计划的功能。
发明内容
本发明提供了一种执行计划查看方法、装置、服务器及存储介质及系统,以实现查看PLSQL语句块中单条SQL语句对应的执行计划。
第一方面,本发明实施例提供了一种执行计划查看方法,包括:获取调试客户端的执行计划查看指令,所述执行计划查看指令包括语句行号和句柄ID;
根据所述语句行号和所述句柄ID确定待查看的执行计划的偏移位置;
根据所述待查看的执行计划的偏移位置显示对应的执行计划。
进一步的,所述根据所述语句行号确定待查看的执行计划的偏移位置,包括:
查找所述句柄ID对应的调试语句句柄;
如果所述语句行号为特殊值,通过所述调试语句句柄读取所述语句行号对应的指令流偏移位置;
根据所述指令流偏移位置确定待查看的执行计划的偏移位置。
进一步的,所述通过所述调试语句句柄读取所述语句行号对应的指令流偏移位置,包括:
通过所述对应的调试语句句柄读取当前正在执行的指令流偏移位置;
在所述调试语句句柄的缓存属性中查找满足第一预设条件的属性值,作为所述语句行号对应的指令流偏移位置,所述第一预设条件为比所述当前正在执行的指令流偏移位置小的属性值中的最大值。
进一步的,所述通过所述调试语句句柄读取所述语句行号对应的指令流偏移位置,还包括:
如果所述调试语句句柄的缓存属性中的属性值是按照由小到大的顺序排列的,则查找满足第二预设条件的属性值,并将所述满足第二预设条件的属性值的前一个属性值作为所述与所述语句行号对应的指令流偏移位置,所述第二预设条件为比所述当前正在执行的指令流偏移位置大的属性值中的最小值。
进一步的,所述方法还包括:
如果所述语句行号为非特殊值,在所述调试语句句柄的缓存属性中查找与所述语句行号对应的属性值,作为所述与所述语句行号对应的指令流偏移位置。
进一步的,所述方法还包括:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于上海达梦数据库有限公司,未经上海达梦数据库有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201811550294.X/2.html,转载请声明来源钻瓜专利网。