用此方法同时能够得到cost最大的语句
--首先抓取snapshot
[db2inst2@localhost ~]$ db2 get snapshot for all on sample > snap.out
--根据执行次数排序
[db2inst2@localhost ~]$ grep -ni "number of executions" snap.out |grep -v "=0" |sort -k 6,6rn
846: Number of executions = 306
1198: Number of executions = 117
1038: Number of executions = 43
654: Number of executions = 43
814: Number of executions = 43
--然后在vi可以根据行数找到具体的sql语句(vi :line#)
Number of executions = 306
Number of compilations = 1
Worst preparation time (ms) = 32
Best preparation time (ms) = 32
Internal rows deleted = Not Collected
Internal rows inserted = Not Collected
Rows read = Not Collected
Internal rows updated = Not Collected
Rows written = Not Collected
Statement sorts = Not Collected
Statement sort overflows = Not Collected
Total sort time = Not Collected
Buffer pool data logical reads = 0
Buffer pool data physical reads = 0
Buffer pool temporary data logical reads = 0
Buffer pool temporary data physical reads = 0
Buffer pool index logical reads = 0
Buffer pool index physical reads = 0
Buffer pool temporary index logical reads = 0
Buffer pool temporary index physical reads = 0
Buffer pool xda logical reads = 0
Buffer pool xda physical reads = 0
Buffer pool temporary xda logical reads = 0
Buffer pool temporary xda physical reads = 0
Total execution time (sec.microsec)= Not Collected
Total user cpu time (sec.microsec) = Not Collected
Total system cpu time (sec.microsec)= Not Collected
Total statistic fabrication time (milliseconds) = Not Collected
Total synchronous runstats time (milliseconds) = Not Collected
Statement text = SELECT CREATE_TIME FROM SYSTOOLS.HMON_ATM_INFO WHERE SCHEMA = ? AND NAME = ? FOR UPDATE
分享到:
相关推荐
- 观察返回结果,其中`AVERAGE_EXECUTION_TIME_S`字段表示SQL语句平均执行时间,`stmt_sorts`字段表示排序次数,而`stmt_text`则为具体的SQL文本。 6. **查看LONG_RUNNING_SQL管理视图**: - 同样地,可以使用...
### DB2 SQL优化之散列连接技术详解 #### 一、引言 在数据库管理系统(DBMS)中,SQL查询优化是提升数据检索速度的关键技术之一。对于大型企业级数据库如IBM DB2 Universal Database (DB2 UDB),优化SQL查询不仅能够...
2. **APPL_PERFORMANCE视图**:展示了每个应用程序的性能统计数据,如执行次数、执行时间等。 3. **BP_HITRATIO视图**:展示了缓冲池的命中率,有助于评估缓存策略的有效性。 4. **BP_READ_IO视图**:显示了读取操作...
它可以收集有关存储过程的执行统计信息,如执行次数、执行时间等,帮助优化性能。 #### FCM **FCM (File Control Manager)** 负责管理DB2数据库中的物理文件。它处理文件的创建、删除、扩展等操作,确保文件系统的...
- **SQL语句尽量写复杂SQL**:合并多个简单查询以减少执行次数。 - **SQLSP及CSP的选择**:根据需求选择存储过程类型。 - **查询的优化(HASH及RR_TO_RS)**:合理利用索引,考虑查询计划。 - **避免使用COUNT(*)及...
10. **查看程序执行时间及结果db2batch:** 使用`db2batch`命令来查看程序的执行时间和结果。 11. **查看程序或语句具体的执行计划shell:** 使用`EXPLAIN`来查看SQL语句的具体执行计划。 12. **两个表做JOIN的不同...
6. **批处理**:JDBC允许通过`addBatch()`和`executeBatch()`方法进行SQL批处理,提高效率,减少网络通信次数。 7. **数据库元数据**:`DatabaseMetaData`接口提供了获取数据库版本、表信息、列信息等元数据的方法...
- **执行文件中的脚本**:在DB2中执行SQL脚本文件可以通过`db2 -tvf <filename>`命令实现。确保脚本文件格式正确,没有语法错误。 - **创建存储过程时Create后不要使用TAB键**:在编写存储过程时,使用空格而不是...
在Java环境中,如Java SE、Java EE或Spring框架等,这些驱动是必要的组成部分,用于执行SQL查询、事务处理、数据存取等功能。 1. **JDBC驱动**: Java Database Connectivity (JDBC) 是Java平台中用于与各种数据库...
- **NOT与索引**:在索引列上使用NOT操作符可能会导致DB2放弃使用索引来加速查询,进而执行全表扫描。 #### 十五、避免在索引列上使用计算 - **计算与索引**:在WHERE子句中对索引列进行计算操作会使得DB2无法有效...
- **SQL Cost(SQL成本)**: 分析SQL语句执行成本,优化高成本SQL。 - **Registry Variables(注册变量)**: 调整注册变量以适应特定的工作负载需求。 - **OS(操作系统)**: 操作系统设置和配置也会影响DB2性能。 ...
6. **SPM:** Shared Pool Memory (共享池内存),是DB2内存管理的一部分,用于缓存SQL语句和执行计划,提高数据库性能。 7. **FCM:** Fast Connect Manager (快速连接管理器),是DB2中的一种机制,用于加速连接到...
11. `pkg_cache_lookups/pkg_cache_inserts/pkg_cache_overflows`: 关注程序包缓存的查找、插入和溢出次数,反映SQL语句的预编译效率。 12. `lock_timeouts/lock_waits/locks_waiting`: 锁相关统计,揭示潜在的并发...