耗时 SQL 语句查询以及不显示处理

作者:ABAP三叔 约 4 分钟阅读 更新日期:2025-03-02 1 年前更新 标签:ABAP, Basis, Data Engineering, SD, 开发, 数据工程, 系统管理, 销售分销
耗时 SQL 语句查询以及不显示处理 - 封面图
耗时 SQL 语句查询以及不显示处理 - 封面图

前言

常见的数据库软件都有执行耗时长的SQL语句统计表和前台可视化查询工具,以便于DBA分析和优化SQL语句。SAP

HANA数据库也不例外,在SAPGUI和HANA Studio中提供了耗时的SQL查询工具,下面主要介绍在SAPGUI中的使用方法。

耗时的SQL

1.TCODE: DB02

其它可用事务码: DB01/DB03/DB12/DB50/DBACOCKPIT/ST04/

耗时 SQL 语句查询以及不显示处理 - 封面图
耗时 SQL 语句查询以及不显示处理 - 封面图

2\. 借助此功能可以分析当天或者过去一段时间内的耗时SQL语句排行,可跳转到代码位置查看SQL语句,根据需要进行优化

3.如果看不到<耗时的语句>节点,应该是权限问题,请检查是否有SAP_BC_DB_ADMIN_MSS 角色

耗时SQL列表为空的处理方法

可能是系统未开启耗时SQL统计功能,请依次按下列配置检查

一、开启耗时SQL监控

1. 执行事务码 **DB02** .

2. 导航到 配置->INI文件,双击

3. 导航到 _global.ini- >expensive_statement->enable, _ 双击

4. 设置值 **'true',** 点击保存更改 .

二、设置阈值持续时间(微秒)

1. 执行事务码 **DB02** .

2. 导航到 配置->INI文件,双击

3. 导航到 _global.ini- >expensive_statement->threshold_duration, _ 双击

4. 默认1000000(1秒),根据实际需要设置,可设置为3 0000 00(3 秒.)

三、设置耗时SQL语句占用内存阈值(字节)

1. 执行事务码 **DB02** .

2. 导航到 配置->INI文件,双击

3. 导航到 _global.ini- > __expensive_statement- >threshold_memory _ _ , _ 双击

4. 默认-1,需设置大于0的值,官方建议设置为 104857600 (100MB) .

四、开启资源跟踪

1. 执行事务码 **DB02** .

2. 导航到 配置->INI文件,双击

3. 导航到 _global.ini- > _resource_tracking- >enable_tracking _ , _ 双击

4. 设置值为 **'on'** .

五、开启内存跟踪

1. 执行事务码 **DB02** .

2. 导航到 配置->INI文件,双击

3. 导航到 _global.ini- > _resource_tracking- > _memory_tracking_ _ , _ 双击

4. 设置值为 **'on'** .

这样设置以后,当SQL语句达到 阈值持续时间 或者 结果集达到 占用内存阈值时,就会将结果记录下来。

ABAP三叔

关于作者:ABAP三叔

企业信息化与 SAP 技术顾问,长期专注 SAP ABAP、FI/CO、MM、SD 等模块的技术分享与实战经验总结。查看更多介绍

来源说明:本文内容由「耗时SQL语句查询以及不显示处理.md」整理生成,仅用于内部技术分享与学习交流。