一个计算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 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
留言是一种美德,欢迎回访!
[***.207.175.100]2024年04月19日 14时36分44秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
如何用同期群分析模型提升留存?(Tableau实战)
2021-07-03
2021最新 上海互联网公司排名
2019-04-30
Oracle字符串分隔符替换(替换奇数个或偶数个)
2019-04-30
Oracle 利用 UTL_SMTP 包发送邮件
2019-04-30
Oracle 的循环中的异常捕捉和处理
2019-04-30
Oracle的pfile和spfile的一点理解和笔记
2019-04-30
WebService的简单案例记录(Java)
2019-04-30
java实现稀疏数组及将稀疏数组存入硬盘中
2019-04-30
2021-05-18
2019-04-30
libuv实现ping包发送和接收
2019-04-30
基础架构系列篇-系统centos7安装docker+COMPOSE
2019-04-30
基础架构系列篇-NGINX部署VUE
2019-04-30
基础架构系列篇-系统centos7安装kafka
2019-04-30
基础架构系列篇-系统centos7中docker安装分布式文件存储服务minio
2019-04-30
软件质量的8个特性
2019-04-30
应届渣渣前端的艰难求职之路
2019-04-30
2021年不可错过的17种JS优化技巧(一)
2019-04-30
在 Vue 中用 Axios 异步请求API
2019-04-30
MySQL进阶查询(SELECT 语句高级用法)
2019-04-30
Mysql 之主从复制
2019-04-30