openGauss 系统表:STATEMENT_HISTORY
例如:{"time":xxx, "n_calls":xxx, "size":xxx}。例如:{"time":xxx, "n_calls":xxx, "size":xxx}。例如:{"time":xxx, "n_calls":xxx, "size":xxx}。软解析次数,n_soft_parse + n_hard_parse可能大于n_calls,因为子查询未计入n_calls。硬解析次数,n_so
STATEMENT_HISTORY
获得当前节点的执行语句的信息。查询系统表必须具有sysadmin权限。只可在系统库中查询到结果,用户库中无法查询。
对于此系统表查询有如下约束:
- 必须在postgres库内查询,其它库中不存数据。
- 此系统表受track_stmt_stat_level控制,默认为“OFF,L0”,第一部分控制Full SQL,第二部分控制Slow SQL,具体字段记录级别见下表。考虑性能影响,更改该参数的值时建议通过set方式设置,使该参数仅对当前会话生效。
- 对于Slow SQL,当track_stmt_stat_level的值为非OFF时,且SQL执行时间超过log_min_duration_statement,会记录为慢SQL。 对于存储过程内的SQL语句(parent_query_id非0),当设置instr_unique_sql_track_type为all时才可以记录,其中记录了query、query_plan、unique_query_id、parent_query_id、db_time、cpu_time、start_time、finish_time、is_slow_sql以及一些当前数据库使用信息的基本参数,n_tuples_fetched、n_tuples_returned、n_tuples_inserted、n_tuples_updated、n_tuples_deleted、n_blocks_fetched、n_blocks_hit、execution_time、parse_time、plan_time、rewrite_time、pl_execution_time、pl_compilation_time、data_io_time、net_send_info、net_recv_info、net_stream_send_info、net_stream_recv_info、lock_wait_count、lock_wait_time、lwlock_count、lwlock_wait_count、lwlock_ti、lwlock_wait_time、details、trace_id、advise、net_send_time、 srt1_q、 srt2_simple_query、 srt3_analyze_rewrite、 srt4_plan_query、 srt5_light_query、 srt6_p、 srt7_b、 srt8_e、 srt9_d、 srt10_s、 srt11_c、 srt12_u、 srt13_before_query、 srt14_after_query、rtt_unknown列不支持,记录的值没有实际意义。
表 1 STATEMENT_HISTORY字段
|
软解析次数,n_soft_parse + n_hard_parse可能大于n_calls,因为子查询未计入n_calls。 |
|||
|
硬解析次数,n_soft_parse + n_hard_parse可能大于n_calls,因为子查询未计入n_calls。 |
|||
|
通过物理连接发送消息的网络状态,包含时间(微秒)、调用次数、吞吐量(字节)。通过该字段可以分析SQL在分布式系统下的网络开销,单机模式下不支持该字段。例如:{"time":xxx, "n_calls":xxx, "size":xxx}。 |
|||
|
通过物理连接接收消息的网络状态,包含时间(微秒)、调用次数、吞吐量(字节)。通过该字段可以分析SQL在分布式系统下的网络开销,单机模式下不支持该字段。例如:{"time":xxx, "n_calls":xxx, "size":xxx}。 |
|||
|
通过逻辑连接发送消息的网络状态,包含时间(微秒)、调用次数、吞吐量(字节)。通过该字段可以分析SQL在分布式系统下的网络开销,单机模式下不支持该字段。例如:{"time":xxx, "n_calls":xxx, "size":xxx}。 |
|||
|
通过逻辑连接接收消息的网络状态,包含时间(微秒)、调用次数、吞吐量(字节)。通过该字段可以分析SQL在分布式系统下的网络开销,单机模式下不支持该字段。例如:{"time":xxx, "n_calls":xxx, "size":xxx}。 |
|||
|
记录级别的值是L0时,开始记录等待事件的列表。显示当前语句event等待相关的统计信息。具体事件信息见等待状态列表、轻量级锁等待事件列表、IO等待事件列表和事务锁等待事件列表。关于每种事务锁对业务的影响程度,请参考LOCK语法小节的详细描述。 记录级别的值是L2时,开始记录语句锁事件的列表。该列表按时间顺序记录事件,记录的数量受参数track_stmt_details_size的影响。该字段为二进制,需要借助解析函数pg_catalog.statement_detail_decode读取,见(表6)。
|
|||
|
|||
|
advise |
text |
可能导致该SQL为slow SQL的风险信息。 |
L0 |
|
parent_query_id |
bigint |
存储过程中plsql父语句的信息。 |
L0 |
|
net_send_time |
bigint |
网络上的时间花销。 |
L0 |
|
srt1_q |
bigint |
Q报文执行的耗时 |
L0 |
|
srt2_simple_query |
bigint |
exec_simple_query执行耗时 |
L0 |
|
srt3_analyze_rewrite |
bigint |
pg_analyze_and_rewrite执行耗时 |
L0 |
|
srt4_plan_query |
bigint |
pg_plan_queries执行耗时 |
L0 |
|
srt5_light_query |
bigint |
exec_query_through_light_proxy执行耗时 |
L0 |
|
srt6_p |
bigint |
P报文执行的耗时 |
L0 |
|
srt7_b |
bigint |
B报文执行的耗时 |
L0 |
|
srt8_e |
bigint |
E报文执行的耗时 |
L0 |
|
srt9_d |
bigint |
D报文执行的耗时 |
L0 |
|
srt10_s |
bigint |
S报文执行的耗时 |
L0 |
|
srt11_c |
bigint |
C报文执行的耗时 |
L0 |
|
srt12_u |
bigint |
U报文执行的耗时 |
L0 |
|
srt13_before_query |
bigint |
进入下一次报文处理前的耗时 |
L0 |
|
srt14_after_query |
bigint |
完成报文处理后的耗时 |
L0 |
|
rtt_unknown |
bigint |
未知时间消耗,可能是session切换耗时 |
L0 |
|
net_trans_time |
bigint |
驱动执行sql的全链路网络耗时,当前仅支持jdbc驱动。(单位:微秒) |
L0 |
鲲鹏昇腾开发者社区是面向全社会开放的“联接全球计算开发者,聚合华为+生态”的社区,内容涵盖鲲鹏、昇腾资源,帮助开发者快速获取所需的知识、经验、软件、工具、算力,支撑开发者易学、好用、成功,成为核心开发者。
更多推荐


所有评论(0)