DB2性能监控:找出关键SQL
4星 · 超过85%的资源 需积分: 46 67 浏览量
更新于2024-09-15
收藏 2KB TXT 举报
"DB2性能监控SQL主要关注的是数据库中运行时间最长、执行频率最高、执行成本最昂贵以及准备和预编译时间消耗最多的SQL语句。为了有效地管理和优化DB2数据库的性能,管理员通常会使用特定的查询来获取这些关键信息。以下是一些用于监控DB2 SQL性能的关键查询示例。
1. 运行最长的SQL:
```
db2 "select elapsed_time_min, appl_status, agent_id from sysibmadm.long_running_sql order by elapsed_time_min desc fetch first 5 rows only"
```
这个查询返回当前正在运行的SQL语句中,按运行时间降序排列的前5个。`elapsed_time_min` 指的是SQL语句执行的总时间(分钟)。
2. 执行次数最多的SQL:
```
db2 "select num_executions, average_execution_time_s, prep_time_percent from sysibmadm.query_prep_cost order by num_executions desc"
```
此查询显示执行次数最多的SQL语句,同时提供平均执行时间和预编译时间的百分比。`num_executions` 是执行次数,`average_execution_time_s` 是平均执行时间(秒),`prep_time_percent` 是预编译时间占总执行时间的比例。
3. 执行成本最高的SQL:
```
db2 "select * from sysibmadm.top_dynamic_sql order by num_executions desc fetch first 5 rows only"
```
这个查询给出了动态SQL中执行次数最多的前5个,但不直接反映执行成本,通常执行次数多的SQL也意味着成本高。
4. 准备和预编译时间最长的SQL:
```
prep_time_ms
prep_time_percent
```
`prep_time_ms` 显示SQL语句的预编译时间(毫秒),而`prep_time_percent` 提供预编译时间在总执行时间中的比例,这两个指标对于评估SQL语句的准备效率很重要。
5. 监控活动应用和SQL:
```
select agent_id, rows_selected, rows_read from sysibmadm.snapappl fetch first 10 rows only
```
该查询显示了当前活动应用的前10个,包括它们选择和读取的行数,这对于理解数据库的活跃程度和资源使用情况很有帮助。
6. 展示详细信息的SQL:
```
select substr(appl_name,1,15) as Appl_name, elapsed_time_min as "ElapsedMin.", appl_status as "Status", substr(authid,1,10) as auth_id, substr(inbound_comm_address,1,15) as "IPAddress", substr(stmt_text,1,30) as "SQLStatement" from sysibmadm.long_running_sql order by 2 desc
```
这个查询提供了更详细的关于长时间运行SQL的信息,包括应用程序名称、运行时间、状态、认证ID和IP地址,以及SQL语句的一部分。
通过这些监控查询,DB2管理员可以识别性能瓶颈,进行调优工作,确保数据库高效稳定地运行。例如,如果发现某个SQL语句执行时间过长,可能需要考虑优化查询结构、创建合适的索引或者调整数据库配置。同样,频繁执行的SQL语句也可能需要关注,因为它们可能对系统资源造成持续压力。"
2019-04-02 上传
2018-05-04 上传
2011-05-25 上传
2019-11-21 上传
122 浏览量
2009-05-07 上传
veryeasy97
- 粉丝: 1
- 资源: 5
最新资源
- aggregate_resources:与使用传统循环相比,此仓库包含一个汇总参数示例。 该演示是使用eos_vlan模块在Arista vEOS上完成的
- spatial_rcs
- socket_handshake
- CubeApi
- 文件时间批量修改工具(指定时间随机)
- ncomatlab代码-x5chk2021:x5chk2021
- python-math-solver:用Python编写的定理证明者求解器
- laravel-grid-app:Laravel应用程序展示leantonylaravel-grid软件包功能
- Tag-Based-File-Manager:用python编写的基于标签的文件管理器
- kxmlrpcclient:KXMLRPCClient-帮助使用XML-RPC API的库
- ProjetosJava
- 英语-
- ncomatlab代码-pyldas:土地数据同化系统(LDAS)的python包
- dictionary-app
- COSC-473-项目
- ExampleOfiOSLiDAR:iOS ARKit LiDAR的示例