一种执行计划查看方法、装置、服务器及存储介质制造方法及图纸

技术编号:20992573 阅读:16 留言:0更新日期:2019-04-29 22:33
本发明专利技术实施例提供了一种执行计划查看方法、装置、服务器及存储介质,该方法包括:获取调试客户端的执行计划查看指令,所述执行计划查看指令包括语句行号和句柄ID;根据所述语句行号和所述句柄ID确定待查看的执行计划的偏移位置;根据所述待查看的执行计划的偏移位置显示对应的执行计划。通过采用上述技术方案,实现了查看PLSQL语句块中单条SQL语句对应的执行计划。

An Execution Plan Viewing Method, Device, Server and Storage Media

The embodiment of the present invention provides an execution plan viewing method, device, server and storage medium. The method includes: acquiring execution plan viewing instructions of debugging client, the execution plan viewing instructions include statement line number and handle ID; determining the offset of execution plan to be viewed according to the statement line number and handle ID; and according to the execution plan to be viewed. The skewed offset shows the corresponding execution plan. By adopting the above technical scheme, the execution plan corresponding to a single SQL statement in the PLSQL statement block is realized.

【技术实现步骤摘要】
一种执行计划查看方法、装置、服务器及存储介质
本专利技术实施例涉及数据库
,尤其涉及一种执行计划查看方法、装置、服务器及存储介质。
技术介绍
过程化SQL语言(ProceduralLanguage/SQL,PLSQL)是一种数据库中经常用到的语言,是对标准SQL语句的扩展,将数据操纵和SQL查询语句组织在PLSQL语句块中,目前的主流数据库基本都提供了PLSQL语句块的调试功能。当数据库接收到PLSQL语句块后,需要根据其访问任务和目的,制定可执行的、用以返回用户所期望的结果的程序实例,即执行计划。也就是说,用户输入了PLSQL语句块,但并不知道数据库会执行怎样的具体操作以完成此任务,因此通常需要查看具体的执行计划。在实际应用中,用户常常期望确认PLSQL语句块中的某一条SQL语句使用的是什么执行计划,但执行计划是根据PLSQL语句块生成的整体的执行计划,现有的方法无法提供查看PLSQL语句块中单条SQL语句对应的执行计划的功能。
技术实现思路
本专利技术提供了一种执行计划查看方法、装置、服务器及存储介质及系统,以实现查看PLSQL语句块中单条SQL语句对应的执行计划。第一方面,本专利技术实施例提供了一种执行计划查看方法,包括:获取调试客户端的执行计划查看指令,所述执行计划查看指令包括语句行号和句柄ID;根据所述语句行号和所述句柄ID确定待查看的执行计划的偏移位置;根据所述待查看的执行计划的偏移位置显示对应的执行计划。进一步的,所述根据所述语句行号确定待查看的执行计划的偏移位置,包括:查找所述句柄ID对应的调试语句句柄;如果所述语句行号为特殊值,通过所述调试语句句柄读取所述语句行号对应的指令流偏移位置;根据所述指令流偏移位置确定待查看的执行计划的偏移位置。进一步的,所述通过所述调试语句句柄读取所述语句行号对应的指令流偏移位置,包括:通过所述对应的调试语句句柄读取当前正在执行的指令流偏移位置;在所述调试语句句柄的缓存属性中查找满足第一预设条件的属性值,作为所述语句行号对应的指令流偏移位置,所述第一预设条件为比所述当前正在执行的指令流偏移位置小的属性值中的最大值。进一步的,所述通过所述调试语句句柄读取所述语句行号对应的指令流偏移位置,还包括:如果所述调试语句句柄的缓存属性中的属性值是按照由小到大的顺序排列的,则查找满足第二预设条件的属性值,并将所述满足第二预设条件的属性值的前一个属性值作为所述与所述语句行号对应的指令流偏移位置,所述第二预设条件为比所述当前正在执行的指令流偏移位置大的属性值中的最小值。进一步的,所述方法还包括:如果所述语句行号为非特殊值,在所述调试语句句柄的缓存属性中查找与所述语句行号对应的属性值,作为所述与所述语句行号对应的指令流偏移位置。进一步的,所述方法还包括:如果所述语句行号为非特殊值,且对应的调试语句为跨行语句时,在所述调试语句句柄的缓存属性中查找满足第三预设条件的属性值,作为所述与所述语句行号对应的指令流偏移位置,所述第三预设条件为与所述语句行号对应的属性值,或大于所述语句行号的最小语句行号对应的属性值。进一步的,所述根据所述待查看的执行计划的偏移位置显示对应的执行计划,包括:如果所述待查看的执行计划的偏移位置为特殊值,则向调试客户端发送无法查看执行计划的提示信息;如果所述待查看的执行计划的偏移位置为非特殊值,则根据所述待查看的执行计划的偏移位置从整体执行计划中查找对应的执行计划并发送至所述调试客户端进行显示。第二方面,本专利技术实施例提供了一种执行计划查看装置,包括:指令获取模块,用于获取调试客户端的执行计划查看指令,所述执行计划查看指令包括语句行号和句柄ID;执行计划偏移位置确定模块,用于根据所述语句行号和所述句柄ID确定待查看的执行计划的偏移位置;显示模块,用于根据所述待查看的执行计划的偏移位置显示对应的执行计划。第三方面,本专利技术实施例提供了一种服务器,包括:一个或多个处理器;存储器,用于存储一个或多个程序;当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如第一方面所述的执行计划查看方法。第四方面,本专利技术实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如第一方面所述的执行计划查看方法。本专利技术实施例提供了一种执行计划查看方法、装置、服务器及存储介质,该方法包括:获取调试客户端的执行计划查看指令,所述执行计划查看指令包括语句行号和句柄ID;根据所述语句行号和所述句柄ID确定待查看的执行计划的偏移位置;根据所述待查看的执行计划的偏移位置显示对应的执行计划。通过采用上述技术方案,实现了查看PLSQL语句块中单条SQL语句对应的执行计划。附图说明图1为本专利技术实施例一提供的一种执行计划查看方法的流程图;图2为本专利技术实施例一提供的一种执行计划查看方法应用场景的示意图;图3为本专利技术实施例一提供的调试客户端与服务器数据库语句句柄关系的示意图;图4为本专利技术实施例二提供的一种执行计划查看方法的流程图;图5为本专利技术实施例二提供的一种执行计划查看方法的实现流程图;图6为本专利技术实施例三提供的一种执行计划查看装置的结构示意图;图7为本专利技术实施例四提供的一种服务器的硬件结构示意图。具体实施方式下面结合附图和实施例对本专利技术作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本专利技术,而非对本专利技术的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本专利技术相关的部分而非全部结构。实施例一图1为本专利技术实施例一提供的一种执行计划查看方法的流程图,本实施例可适用于对PLSQL语句块中的单条SQL语句查看执行计划的情况。具体的,该执行计划查看方法可以由执行计划查看装置执行,该执行计划查看装置可以通过软件和/或硬件的方式实现,并集成在服务器中。进一步的,服务器包括但不限定于:工业集成服务器、系统后台服务器以及云端服务器。图2为本专利技术实施例一提供的一种执行计划查看方法应用场景的示意图。如图2所示,PLSQL调试功能包含调试客户端101和服务器102两部分,调试客户端101接收用户输入的调试语句和调试指令,服务器102作为调试服务器执行用户输入的调试语句,并根据调试指令返回对应消息给用户;当用户需要查看执行计划时,调试客户端101将用户输入的执行计划查看指令发送至服务器102,服务器102在调试语句句柄的缓存数据中查找到对应的执行计划并返回至调试客户端进行显示。需要说明的是,在对PLSQL语句块中的单条SQL语句查看执行计划之前,首先要进行PLSQL调试功能环境的初始化。具体的,当调试客户端与服务器成功连接后,在调试客户端创建了两种全局语句句柄:执行PLSQL语句块的语句句柄(exec_stmt)和辅助获取调试信息的语句句柄(aid_stmt);对应的,服务器创建了两种语句句柄:调试语句句柄(dbg_stmt)和非调试语句句柄(stmt)。图3为本专利技术实施例一提供的调试客户端与服务器数据库语句句柄关系的示意图。如图3所示,调试语句句柄用以执行PLSQL语句块并向执行语句句柄返回执行结果;非调试语句句柄用以执行辅助语句句柄的辅助信息指令并返回响应信息。为了区分调试语句句柄和非调试语句句柄,服务器为dbg_stmt添加调试标识。示例性的,为各d本文档来自技高网...

【技术保护点】
1.一种执行计划查看方法,其特征在于,包括:获取调试客户端的执行计划查看指令,所述执行计划查看指令包括语句行号和句柄ID;根据所述语句行号和所述句柄ID确定待查看的执行计划的偏移位置;根据所述待查看的执行计划的偏移位置显示对应的执行计划。

【技术特征摘要】
1.一种执行计划查看方法,其特征在于,包括:获取调试客户端的执行计划查看指令,所述执行计划查看指令包括语句行号和句柄ID;根据所述语句行号和所述句柄ID确定待查看的执行计划的偏移位置;根据所述待查看的执行计划的偏移位置显示对应的执行计划。2.根据权利要求1所述的方法,其特征在于,所述根据所述语句行号确定待查看的执行计划的偏移位置,包括:查找所述句柄ID对应的调试语句句柄;如果所述语句行号为特殊值,通过所述调试语句句柄读取所述语句行号对应的指令流偏移位置;根据所述指令流偏移位置确定待查看的执行计划的偏移位置。3.根据权利要求2所述的方法,其特征在于,所述通过所述调试语句句柄读取所述语句行号对应的指令流偏移位置,包括:通过所述对应的调试语句句柄读取当前正在执行的指令流偏移位置;在所述调试语句句柄的缓存属性中查找满足第一预设条件的属性值,作为所述语句行号对应的指令流偏移位置,所述第一预设条件为比所述当前正在执行的指令流偏移位置小的属性值中的最大值。4.根据权利要求2所述的方法,其特征在于,所述通过所述调试语句句柄读取所述语句行号对应的指令流偏移位置,还包括:如果所述调试语句句柄的缓存属性中的属性值是按照由小到大的顺序排列的,则查找满足第二预设条件的属性值,并将所述满足第二预设条件的属性值的前一个属性值作为所述与所述语句行号对应的指令流偏移位置,所述第二预设条件为比所述当前正在执行的指令流偏移位置大的属性值中的最小值。5.根据权利要求1所述的方法,其特征在于,所述方法还包括:如果所述语句行号为非特殊值,在所述调试语句句柄的缓存属性中查找与所述语...

【专利技术属性】
技术研发人员:望声宜
申请(专利权)人:上海达梦数据库有限公司
类型:发明
国别省市:上海,31

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

1