SNAP_GET_DYN_SQL_V95 表函数-检索 dynsql 逻辑组快照信息
SNAP_GET_DYN_SQL_V95 表函数从 dynsql 逻辑数据组返回快照信息。
注: 已不推荐使用此表函数,并将其替换为 SNAP_GET_DYN_SQL 表函数。
请参阅 表 1 ,以获取可返回的完整信息列表。
语法
模式为 SYSPROC。
表函数参数
- dbname
- 类型为 VARCHAR (128) 的输入参数,用于指定与当前连接的数据库在同一实例中的有效数据库名称。 指定目录条目类型为 "Indirect" 或 "Home" 的数据库名称,如 LIST DATABASE DIRECTORY 命令所返回。 指定 NULL 或空字符串以从当前连接的数据库获取快照。
- 成员
- 类型为 INTEGER 的可选输入参数,用于指定有效数据库成员编号。 对当前数据库成员指定 -1 ,或对所有活动数据库成员的聚集指定 -2 。 如果 dbname 未设置为 NULL ,并且 member 设置为 NULL,那么将为 member隐式设置 -1 。 如果未使用此输入选项,即仅提供 dbname ,那么将从所有活动数据库成员返回数据。 活动数据库成员是数据库可供应用程序连接和使用的成员。
如果 dbname 和 member 都设置为 NULL,那么将尝试从 SNAP_WRITE_FILE 过程创建的文件中读取数据。 请注意,此文件可能是在任何时候创建的,这意味着数据可能不是最新的。 如果具有相应快照 API 请求类型的文件不存在,那么 SNAP_GET_DYN_SQL_V95 表函数将生成当前连接的数据库和数据库成员号的快照。
权限
需要下列其中一个权限:
- 对 SNAP_GET_DYN_SQL_V95 表函数的 EXECUTE 特权
- DATAACCESS 权限
此外,要访问快照监视器数据,还需要下列其中一个权限:
- SYSMON
- SYSCTRL
- SYSMAINT
- SYSADM
缺省 PUBLIC 特权
在非限制性数据库中,当自动创建该功能时,将向 PUBLIC 授予 EXECUTE 特权。
示例
检索在当前连接的数据库的当前连接的数据库成员上运行的动态 SQL 列表,按读取的行数排序。
SELECT PREP_TIME_WORST, NUM_COMPILATIONS, SUBSTR(STMT_TEXT, 1, 60)
AS STMT_TEXT FROM TABLE(SNAP_GET_DYN_SQL_V95('',-1)) as T
ORDER BY ROWS_READ
下列是从此查询输出的示例。
PREP_TIME_WORST ...
-------------------- ...
0 ...
3 ...
...
4 ...
...
4 ...
...
4 ...
...
3 ...
...
4 ...
...
此查询的输出(继续)。
... NUM_COMPILATIONS STMT_TEXT
... -------------------- ---------------------------------------...-
... 0 SET CURRENT LOCALE LC_CTYPE = 'en_US'
... 1 select rows_read, rows_written,
... substr(stmt_text, 1, 40) as
... 1 select * from table
... (snap_get_dyn_sqlv9('',-1)) as t
... 1 select * from table
... (snap_getdetaillog9('',-1)) as t
... 1 select * from table
... (snap_get_hadr('',-1)) as t
... 1 select prep_time_worst, num_compilations,
... substr(stmt_text,
... 1 select prep_time_worst, num_compilations,
... substr(stmt_text,
运行工作负载后,用户可以将以下查询与表函数配合使用。
SELECT STATS_FABRICATE_TIME,SYNC_RUNSTATS_TIME
FROM TABLE (SNAP_GET_DYN_SQL_V95('mytestdb', -1))
AS SNAPDB
STATS_FABRICATE_TIME SYNC_RUNSTATS_TIME
---------------------- ------------------
2 12
1 30
对于基于此表函数的视图:
SELECT STATS_FABRICATE_TIME,SYNC_RUNSTATS_TIME
FROM SYSIBMADM.SNAPDYN_SQL
STATS_FABRICATE_TIME SYNC_RUNSTATS_TIME
---------------------- ------------------
5 10
3 20
2 record(s) selected.返回的信息
| 列名 | 数据类型 | 描述或相应的监视元素 |
|---|---|---|
| snapshot_timestamp | TIMESTAMP | 获取快照的日期和时间。 |
| NUM_EXECUTIONS | BIGINT | num_executions - 语句执行次数 |
| num_compilations | BIGINT | num_compilations - 语句编译次数 |
| prep_time_worst | BIGINT | prep_time_worst - 语句最长编译时间 |
| prep_time_best | BIGINT | prep_time_best - 语句最短编译时间 |
| INT_ROWS_DELETED | BIGINT | int_rows_deleted - 删除的内部行数 |
| INT_ROWS_INSERTED | BIGINT | int_rows_inserted - 插入的内部行数 |
| INT_ROWS_UPDATED | BIGINT | int_rows_updated - 更新的内部行数 |
| ROWS_READ | BIGINT | rows_read - 读取行数 |
| ROWS_WRITTEN | BIGINT | rows_written - 写入的行数 |
| stmt_sorts | BIGINT | stmt_sorts - 语句排序数 |
| SORT_OVERFLOWS | BIGINT | sort_overflows - 排序溢出数 |
| TOTAL_SORT_TIME | BIGINT | total_sort_time - 排序总时间 |
| POOL_DATA_L_READS | BIGINT | pool_data_l_reads - 缓冲池数据逻辑读取数 |
| POOL_DATA_P_READS | BIGINT | pool_data_p_reads - 缓冲池数据物理读取数 |
| POOL_TEMP_DATA_L_READS | BIGINT | pool_temp_data_l_reads - 缓冲池临时数据逻辑读取数 |
| POOL_TEMP_DATA_P_READS | BIGINT | pool_temp_data_p_reads - 缓冲池临时数据物理读取数 |
| POOL_INDEX_L_READS | BIGINT | pool_index_l_reads - 缓冲池索引逻辑读取数 |
| POOL_INDEX_P_READS | BIGINT | pool_index_p_reads - 缓冲池索引物理读取数 |
| POOL_TEMP_INDEX_L_READS | BIGINT | pool_temp_index_l_reads - 缓冲池临时索引逻辑读取数 |
| POOL_TEMP_INDEX_P_READS | BIGINT | pool_temp_index_p_reads - 缓冲池临时索引物理读取数 |
| POOL_XDA_L_READS | BIGINT | pool_xda_l_reads - 缓冲池 XDA 数据逻辑读取数 |
| POOL_XDA_P_READS | BIGINT | pool_xda_p_reads - 缓冲池 XDA 数据物理读取数 |
| POOL_TEMP_XDA_L_READS | BIGINT | pool_temp_xda_l_reads - 缓冲池临时 XDA 数据逻辑读取数 |
| POOL_TEMP_XDA_P_READS | BIGINT | pool_temp_xda_p_reads -“缓冲池临时 XDA 数据物理读取数”监视元素 |
| total_exec_time | BIGINT | total_exec_time - 执行语句所耗用的时间 |
| TOTAL_EXEC_TIME_MS | BIGINT | total_exec_time - 执行语句所耗用的时间 |
| total_usr_cpu_time | BIGINT | total_usr_cpu_time-语句的用户 CPU 总数 |
| TOTAL_USR_CPU_TIME_MS | BIGINT | total_usr_cpu_time-语句的用户 CPU 总数 |
| total_sys_cpu_time | BIGINT | total_sys_cpu_time-语句的系统 CPU 总计 |
| TOTAL_SYS_CPU_TIME_MS | BIGINT | total_sys_cpu_time-语句的系统 CPU 总计 |
| STMT_TEXT | CLOB (2 M) | stmt_text - SQL 语句文本 |
| DBPARTITIONNUM | SMALLINT | dbpartitionnum -“数据库分区号”监视元素 |
| STATS_FABRICATE_TIME | BIGINT | 在动态语句的查询编译期间,系统在不进行表或索引扫描的情况下创建所需统计信息所花费的总时间 (以毫秒为单位)。 |
| SYNC_RUNSTATS_TIME | BIGINT | 动态语句的查询编译期间同步统计信息收集活动所花费的总时间 (以毫秒为单位)。 |
| * 要计算此列所基于的监视元素的总耗用时间,必须使用以下公式将以 _S 结束的此监视元素的列中报告的完整秒数与以 _MS 结束的此监视元素的列中报告的小数秒数相加: (monitor-element-name_S × 1,000,000 + monitor-element-name_MS) ÷ 1,000,000。 例如, (ELAPSED_EXEC_TIME_S × 1,000,000 + ELAPSED_EXEC_TIME_MS) ÷ 1,000,000。 | ||
