一个计算SQL语句在HANA数据库执行花费的DB和CPU时间的统计工具
发布日期:2021-06-30 14:06:43 浏览次数:2 分类:技术文章

本文共 2291 字,大约阅读时间需要 7 分钟。

class ZCL_HANA_DB_CPU_TIME_TOOL definition  public  final  create public .public section.  class-methods CLASS_CONSTRUCTOR .  class-methods GET_CURRENT_TIME    returning      value(RV_TIME) type DECFLOAT34 .protected section.private section.  class-data SO_CONNECTION type ref to CL_SQL_CONNECTION .  class-data SV_STATEMENT type STRING .  TYPES: BEGIN OF typ_s_hostcpu,           host TYPE char100,           cpu  TYPE decfloat34,         END OF typ_s_hostcpu,         typ_t_hostcpu TYPE STANDARD TABLE OF typ_s_hostcpu WITH DEFAULT KEY.ENDCLASS.CLASS ZCL_HANA_DB_CPU_TIME_TOOL IMPLEMENTATION.* 
---------------------------------------------------------------------------------------+* | Static Public Method ZCL_HANA_DB_CPU_TIME_TOOL=>CLASS_CONSTRUCTOR* +-------------------------------------------------------------------------------------------------+* +--------------------------------------------------------------------------------------
method CLASS_CONSTRUCTOR. so_connection = cl_sql_connection=>get_connection( ). sv_statement = 'select host, sum(process_cpu_time) from m_service_statistics where service_name = ''indexserver'' and detail <> ''standby'' group by host order by host'. endmethod.*
---------------------------------------------------------------------------------------+* | Static Public Method ZCL_HANA_DB_CPU_TIME_TOOL=>GET_CURRENT_TIME* +-------------------------------------------------------------------------------------------------+* | [<-()] RV_TIME TYPE DECFLOAT34* +--------------------------------------------------------------------------------------
method GET_CURRENT_TIME. data: lt_hostcpu TYPE typ_t_hostcpu, lr_data TYPE REF to data. TRY. DATA(r_stmt) = so_connection->create_statement( ). DATA(r_res) = r_stmt->execute_query( sv_statement ). GET REFERENCE OF lt_hostcpu[] INTO lr_data. r_res->set_param_table( lr_data ). r_res->next_package( ). r_res->close( ). READ TABLE lt_hostcpu ASSIGNING FIELD-SYMBOL(
) index 1. check sy-subrc = 0. rv_time =
-cpu. CATCH cx_root INTO DATA(cx_root). WRITE:/ cx_root->get_text( ). RETURN. ENDTRY. endmethod.ENDCLASS.

要获取更多Jerry的原创文章,请关注公众号"汪子熙":

转载地址:https://jerry.blog.csdn.net/article/details/104036212 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:使用ABAP代码创建SAP S/4HANA Sales Order
下一篇:打印某个ABAP事务码使用到的所有Authorization object

发表评论

最新留言

留言是一种美德,欢迎回访!
[***.207.175.100]2024年04月19日 14时36分44秒